|
4 | 4 | * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} |
5 | 5 | */ |
6 | 6 |
|
| 7 | +var PropertyValueInc = require('./PropertyValueInc'); |
| 8 | + |
7 | 9 | /** |
8 | | - * [description] |
| 10 | + * Takes an array of Game Objects, or any objects that have a public `rotation` property, |
| 11 | + * and then adds the given value to each of their `rotation` properties. |
| 12 | + * |
| 13 | + * The optional `step` property is applied incrementally, multiplied by each item in the array. |
| 14 | + * |
| 15 | + * To use this with a Group: `Rotate(group.getChildren(), value, step)` |
9 | 16 | * |
10 | 17 | * @function Phaser.Actions.Rotate |
11 | 18 | * @since 3.0.0 |
12 | 19 | * |
13 | | - * @param {array} items - An array of Game Objects. The contents of this array are updated by this Action. |
14 | | - * @param {number} value - [description] |
15 | | - * @param {number} [step=0] - [description] |
| 20 | + * @param {array|Phaser.GameObjects.GameObject[]} items - The array of items to be updated by this action. |
| 21 | + * @param {number} value - The amount to be added to the `rotation` property (in radians). |
| 22 | + * @param {number} [step=0] - This is added to the `value` amount, multiplied by the iteration counter. |
| 23 | + * @param {integer} [index=0] - An optional offset to start searching from within the items array. |
| 24 | + * @param {integer} [direction=1] - The direction to iterate through the array. 1 is from beginning to end, -1 from end to beginning. |
16 | 25 | * |
17 | | - * @return {array} The array of Game Objects that was passed to this Action. |
| 26 | + * @return {array} The array of objects that were passed to this Action. |
18 | 27 | */ |
19 | | -var Rotate = function (items, value, step) |
| 28 | +var Rotate = function (items, value, step, index, direction) |
20 | 29 | { |
21 | | - if (step === undefined) { step = 0; } |
22 | | - |
23 | | - for (var i = 0; i < items.length; i++) |
24 | | - { |
25 | | - items[i].rotation += value + (i * step); |
26 | | - } |
27 | | - |
28 | | - return items; |
| 30 | + return PropertyValueInc(items, 'rotation', value, step, index, direction); |
29 | 31 | }; |
30 | 32 |
|
31 | 33 | module.exports = Rotate; |
0 commit comments