mirror of
https://github.com/photonstorm/phaser
synced 2024-11-21 20:23:19 +00:00
The PlaceOnLine Action now supports ease functions
This commit is contained in:
parent
fd1ab35419
commit
a48db68b53
2 changed files with 15 additions and 3 deletions
|
@ -17,6 +17,7 @@
|
|||
* The `Renderer.Canvas` and `Renderer.WebGL` will now only be included in the build file if the corresponding feature flags `CANVAS_RENDERER` and/or `WEBGL_RENDERER` are set to `true`. For Canvas only builds this saves a lot of space in the build (thanks @samme)
|
||||
* You can now specify an `autoResize` boolean in the `RenderTargetConfig` which is passed to the Render Targets when they are created by a pipeline.
|
||||
* The `UtilityPipeline` now sets `autoResize` to `true` in its Render Target Config, so that the global `fullFrame` and `halfFrame` Render Targets will automatically resize if the renderer changes.
|
||||
* `Actions.PlaceOnLine` now has an added an `ease` parameter which accepts a string from the EaseMap or a custom ease function to allow for different distrubutions along a line. (thanks @sB3p)
|
||||
|
||||
# Bug Fixes
|
||||
|
||||
|
|
|
@ -5,9 +5,11 @@
|
|||
*/
|
||||
|
||||
var GetPoints = require('../geom/line/GetPoints');
|
||||
var GetEasedPoints = require('../geom/line/GetEasedPoints');
|
||||
|
||||
/**
|
||||
* Positions an array of Game Objects on evenly spaced points of a Line.
|
||||
* If the ease parameter is supplied, it will space the points based on that easing function along the line.
|
||||
*
|
||||
* @function Phaser.Actions.PlaceOnLine
|
||||
* @since 3.0.0
|
||||
|
@ -16,12 +18,21 @@ var GetPoints = require('../geom/line/GetPoints');
|
|||
*
|
||||
* @param {(array|Phaser.GameObjects.GameObject[])} items - An array of Game Objects. The contents of this array are updated by this Action.
|
||||
* @param {Phaser.Geom.Line} line - The Line to position the Game Objects on.
|
||||
*
|
||||
* @param {(string|function)} [ease] - An optional ease to use. This can be either a string from the EaseMap, or a custom function.
|
||||
* @return {(array|Phaser.GameObjects.GameObject[])} The array of Game Objects that was passed to this Action.
|
||||
*/
|
||||
var PlaceOnLine = function (items, line)
|
||||
var PlaceOnLine = function (items, line, ease)
|
||||
{
|
||||
var points = GetPoints(line, items.length);
|
||||
var points;
|
||||
|
||||
if (ease)
|
||||
{
|
||||
points = GetEasedPoints(line, ease, items.length);
|
||||
}
|
||||
else
|
||||
{
|
||||
points = GetPoints(line, items.length);
|
||||
}
|
||||
|
||||
for (var i = 0; i < items.length; i++)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue