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