This commit is contained in:
Richard Davey 2020-01-03 23:18:22 +00:00
commit eab83de344
5 changed files with 96 additions and 60 deletions

View file

@ -20,7 +20,7 @@ var Vector2 = require('../math/Vector2');
* @constructor * @constructor
* @since 3.0.0 * @since 3.0.0
* *
* @param {string} type - [description] * @param {string} type - The curve type.
*/ */
var Curve = new Class({ var Curve = new Class({
@ -78,7 +78,7 @@ var Curve = new Class({
this.needsUpdate = true; this.needsUpdate = true;
/** /**
* [description] * For a curve on a Path, `false` means the Path will ignore this curve.
* *
* @name Phaser.Curves.Curve#active * @name Phaser.Curves.Curve#active
* @type {boolean} * @type {boolean}
@ -187,7 +187,7 @@ var Curve = new Class({
}, },
/** /**
* [description] * Get a point at the end of the curve.
* *
* @method Phaser.Curves.Curve#getEndPoint * @method Phaser.Curves.Curve#getEndPoint
* @since 3.0.0 * @since 3.0.0
@ -209,7 +209,7 @@ var Curve = new Class({
* @method Phaser.Curves.Curve#getLength * @method Phaser.Curves.Curve#getLength
* @since 3.0.0 * @since 3.0.0
* *
* @return {number} [description] * @return {number} The total length of the curve.
*/ */
getLength: function () getLength: function ()
{ {
@ -220,14 +220,22 @@ var Curve = new Class({
/** /**
* Get list of cumulative segment lengths * Get a list of cumulative segment lengths.
*
* These lengths are
*
* - [0] 0
* - [1] The first segment
* - [2] The first and second segment
* - ...
* - [divisions] All segments
* *
* @method Phaser.Curves.Curve#getLengths * @method Phaser.Curves.Curve#getLengths
* @since 3.0.0 * @since 3.0.0
* *
* @param {integer} [divisions] - [description] * @param {integer} [divisions] - The number of divisions or segments.
* *
* @return {number[]} [description] * @return {number[]} An array of cumulative lengths.
*/ */
getLengths: function (divisions) getLengths: function (divisions)
{ {
@ -268,17 +276,17 @@ var Curve = new Class({
// - u [0 .. 1] // - u [0 .. 1]
/** /**
* [description] * Get a point at a relative position on the curve, by arc length.
* *
* @method Phaser.Curves.Curve#getPointAt * @method Phaser.Curves.Curve#getPointAt
* @since 3.0.0 * @since 3.0.0
* *
* @generic {Phaser.Math.Vector2} O - [out,$return] * @generic {Phaser.Math.Vector2} O - [out,$return]
* *
* @param {number} u - [description] * @param {number} u - The relative position, [0..1].
* @param {Phaser.Math.Vector2} [out] - [description] * @param {Phaser.Math.Vector2} [out] - A point to store the result in.
* *
* @return {Phaser.Math.Vector2} [description] * @return {Phaser.Math.Vector2} The point.
*/ */
getPointAt: function (u, out) getPointAt: function (u, out)
{ {
@ -290,13 +298,23 @@ var Curve = new Class({
// Get sequence of points using getPoint( t ) // Get sequence of points using getPoint( t )
/** /**
* [description] * Get a sequence of evenly spaced points from the curve.
*
* You can pass `divisions`, `stepRate`, or neither.
*
* The number of divisions will be
*
* 1. `divisions`, if `divisions` > 0; or
* 2. `this.getLength / stepRate`, if `stepRate` > 0; or
* 3. `this.defaultDivisions`
*
* `1 + divisions` points will be returned.
* *
* @method Phaser.Curves.Curve#getPoints * @method Phaser.Curves.Curve#getPoints
* @since 3.0.0 * @since 3.0.0
* *
* @param {integer} divisions - The number of evenly spaced points from the curve to return. If falsy, step param will be used to calculate the number of points. * @param {integer} [divisions] - The number of divisions to make.
* @param {number} step - Step between points. Used to calculate the number of points to return when divisions is falsy. Ignored if divisions is positive. * @param {number} [stepRate] - The curve distance between points, implying `divisions`.
* @param {(array|Phaser.Math.Vector2[])} [out] - An optional array to store the points in. * @param {(array|Phaser.Math.Vector2[])} [out] - An optional array to store the points in.
* *
* @return {(array|Phaser.Math.Vector2[])} An array of Points from the curve. * @return {(array|Phaser.Math.Vector2[])} An array of Points from the curve.
@ -327,16 +345,16 @@ var Curve = new Class({
}, },
/** /**
* [description] * Get a random point from the curve.
* *
* @method Phaser.Curves.Curve#getRandomPoint * @method Phaser.Curves.Curve#getRandomPoint
* @since 3.0.0 * @since 3.0.0
* *
* @generic {Phaser.Math.Vector2} O - [out,$return] * @generic {Phaser.Math.Vector2} O - [out,$return]
* *
* @param {Phaser.Math.Vector2} [out] - [description] * @param {Phaser.Math.Vector2} [out] - A point object to store the result in.
* *
* @return {Phaser.Math.Vector2} [description] * @return {Phaser.Math.Vector2} The point.
*/ */
getRandomPoint: function (out) getRandomPoint: function (out)
{ {
@ -348,16 +366,18 @@ var Curve = new Class({
// Get sequence of points using getPointAt( u ) // Get sequence of points using getPointAt( u )
/** /**
* [description] * Get a sequence of equally spaced points (by arc distance) from the curve.
*
* `1 + divisions` points will be returned.
* *
* @method Phaser.Curves.Curve#getSpacedPoints * @method Phaser.Curves.Curve#getSpacedPoints
* @since 3.0.0 * @since 3.0.0
* *
* @param {integer} [divisions] - The number of evenly spaced points from the curve to return. If falsy, step param will be used to calculate the number of points. * @param {integer} [divisions=this.defaultDivisions] - The number of divisions to make.
* @param {number} [step] - Step between points. Used to calculate the number of points to return when divisions is falsy. Ignored if divisions is positive. * @param {number} [stepRate] - Step between points. Used to calculate the number of points to return when divisions is falsy. Ignored if divisions is positive.
* @param {(array|Phaser.Math.Vector2[])} [out] - An optional array to store the points in. * @param {(array|Phaser.Math.Vector2[])} [out] - An optional array to store the points in.
* *
* @return {Phaser.Math.Vector2[]} [description] * @return {Phaser.Math.Vector2[]} An array of points.
*/ */
getSpacedPoints: function (divisions, stepRate, out) getSpacedPoints: function (divisions, stepRate, out)
{ {
@ -387,16 +407,16 @@ var Curve = new Class({
}, },
/** /**
* [description] * Get a point at the start of the curve.
* *
* @method Phaser.Curves.Curve#getStartPoint * @method Phaser.Curves.Curve#getStartPoint
* @since 3.0.0 * @since 3.0.0
* *
* @generic {Phaser.Math.Vector2} O - [out,$return] * @generic {Phaser.Math.Vector2} O - [out,$return]
* *
* @param {Phaser.Math.Vector2} [out] - [description] * @param {Phaser.Math.Vector2} [out] - A point to store the result in.
* *
* @return {Phaser.Math.Vector2} [description] * @return {Phaser.Math.Vector2} The point.
*/ */
getStartPoint: function (out) getStartPoint: function (out)
{ {
@ -406,7 +426,7 @@ var Curve = new Class({
}, },
/** /**
* Returns a unit vector tangent at t * Get a unit vector tangent at a relative position on the curve.
* In case any sub curve does not implement its tangent derivation, * In case any sub curve does not implement its tangent derivation,
* 2 points a small delta apart will be used to find its gradient * 2 points a small delta apart will be used to find its gradient
* which seems to give a reasonable approximation * which seems to give a reasonable approximation
@ -416,8 +436,8 @@ var Curve = new Class({
* *
* @generic {Phaser.Math.Vector2} O - [out,$return] * @generic {Phaser.Math.Vector2} O - [out,$return]
* *
* @param {number} t - [description] * @param {number} t - The relative position on the curve, [0..1].
* @param {Phaser.Math.Vector2} [out] - [description] * @param {Phaser.Math.Vector2} [out] - A vector to store the result in.
* *
* @return {Phaser.Math.Vector2} Vector approximating the tangent line at the point t (delta +/- 0.0001) * @return {Phaser.Math.Vector2} Vector approximating the tangent line at the point t (delta +/- 0.0001)
*/ */
@ -448,17 +468,17 @@ var Curve = new Class({
}, },
/** /**
* [description] * Get a unit vector tangent at a relative position on the curve, by arc length.
* *
* @method Phaser.Curves.Curve#getTangentAt * @method Phaser.Curves.Curve#getTangentAt
* @since 3.0.0 * @since 3.0.0
* *
* @generic {Phaser.Math.Vector2} O - [out,$return] * @generic {Phaser.Math.Vector2} O - [out,$return]
* *
* @param {number} u - [description] * @param {number} u - The relative position on the curve, [0..1].
* @param {Phaser.Math.Vector2} [out] - [description] * @param {Phaser.Math.Vector2} [out] - A vector to store the result in.
* *
* @return {Phaser.Math.Vector2} [description] * @return {Phaser.Math.Vector2} The tangent vector.
*/ */
getTangentAt: function (u, out) getTangentAt: function (u, out)
{ {
@ -573,10 +593,12 @@ var Curve = new Class({
}, },
/** /**
* [description] * Calculate and cache the arc lengths.
* *
* @method Phaser.Curves.Curve#updateArcLengths * @method Phaser.Curves.Curve#updateArcLengths
* @since 3.0.0 * @since 3.0.0
*
* @see Phaser.Curves.Curve#getLengths()
*/ */
updateArcLengths: function () updateArcLengths: function ()
{ {

View file

@ -13,7 +13,7 @@ var Vector2 = require('../math/Vector2');
/** /**
* @classdesc * @classdesc
* [description] * Create a smooth 2d spline curve from a series of points.
* *
* @class Spline * @class Spline
* @extends Phaser.Curves.Curve * @extends Phaser.Curves.Curve
@ -21,7 +21,7 @@ var Vector2 = require('../math/Vector2');
* @constructor * @constructor
* @since 3.0.0 * @since 3.0.0
* *
* @param {Phaser.Math.Vector2[]} [points] - [description] * @param {(Phaser.Math.Vector2[]|number[]|number[][])} [points] - The points that configure the curve.
*/ */
var SplineCurve = new Class({ var SplineCurve = new Class({
@ -36,7 +36,7 @@ var SplineCurve = new Class({
Curve.call(this, 'SplineCurve'); Curve.call(this, 'SplineCurve');
/** /**
* [description] * The Vector2 points that configure the curve.
* *
* @name Phaser.Curves.Spline#points * @name Phaser.Curves.Spline#points
* @type {Phaser.Math.Vector2[]} * @type {Phaser.Math.Vector2[]}
@ -49,12 +49,12 @@ var SplineCurve = new Class({
}, },
/** /**
* [description] * Add a list of points to the current list of Vector2 points of the curve.
* *
* @method Phaser.Curves.Spline#addPoints * @method Phaser.Curves.Spline#addPoints
* @since 3.0.0 * @since 3.0.0
* *
* @param {(Phaser.Math.Vector2[]|number[]|number[][])} points - [description] * @param {(Phaser.Math.Vector2[]|number[]|number[][])} points - The points that configure the curve.
* *
* @return {Phaser.Curves.Spline} This curve object. * @return {Phaser.Curves.Spline} This curve object.
*/ */
@ -89,15 +89,15 @@ var SplineCurve = new Class({
}, },
/** /**
* [description] * Add a point to the current list of Vector2 points of the curve.
* *
* @method Phaser.Curves.Spline#addPoint * @method Phaser.Curves.Spline#addPoint
* @since 3.0.0 * @since 3.0.0
* *
* @param {number} x - [description] * @param {number} x - The x coordinate of this curve
* @param {number} y - [description] * @param {number} y - The y coordinate of this curve
* *
* @return {Phaser.Math.Vector2} [description] * @return {Phaser.Math.Vector2} The new Vector2 added to the curve
*/ */
addPoint: function (x, y) addPoint: function (x, y)
{ {
@ -176,7 +176,7 @@ var SplineCurve = new Class({
}, },
/** /**
* [description] * Exports a JSON object containing this curve data.
* *
* @method Phaser.Curves.Spline#toJSON * @method Phaser.Curves.Spline#toJSON
* @since 3.0.0 * @since 3.0.0
@ -202,14 +202,14 @@ var SplineCurve = new Class({
}); });
/** /**
* [description] * Imports a JSON object containing this curve data.
* *
* @function Phaser.Curves.Spline.fromJSON * @function Phaser.Curves.Spline.fromJSON
* @since 3.0.0 * @since 3.0.0
* *
* @param {Phaser.Types.Curves.JSONCurve} data - The JSON object containing this curve data. * @param {Phaser.Types.Curves.JSONCurve} data - The JSON object containing this curve data.
* *
* @return {Phaser.Curves.Spline} [description] * @return {Phaser.Curves.Spline} The spline curve created.
*/ */
SplineCurve.fromJSON = function (data) SplineCurve.fromJSON = function (data)
{ {

View file

@ -569,14 +569,12 @@ var Path = new Class({
}, },
/** /**
* Returns the defined starting point of the Path. * Get a sequence of points on the path.
*
* This is not necessarily equal to the starting point of the first Curve if it differs from {@link startPoint}.
* *
* @method Phaser.Curves.Path#getPoints * @method Phaser.Curves.Path#getPoints
* @since 3.0.0 * @since 3.0.0
* *
* @param {integer} [divisions=12] - The number of points to divide the path in to. * @param {integer} [divisions=12] - The number of divisions per resolution per curve.
* *
* @return {Phaser.Math.Vector2[]} An array of Vector2 objects that containing the points along the Path. * @return {Phaser.Math.Vector2[]} An array of Vector2 objects that containing the points along the Path.
*/ */

View file

@ -188,6 +188,8 @@ var ScenePlugin = new Class({
/** /**
* Shutdown this Scene and run the given one. * Shutdown this Scene and run the given one.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#start * @method Phaser.Scenes.ScenePlugin#start
* @since 3.0.0 * @since 3.0.0
* *
@ -209,6 +211,8 @@ var ScenePlugin = new Class({
/** /**
* Restarts this Scene. * Restarts this Scene.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#restart * @method Phaser.Scenes.ScenePlugin#restart
* @since 3.4.0 * @since 3.4.0
* *
@ -444,6 +448,8 @@ var ScenePlugin = new Class({
/** /**
* Launch the given Scene and run it in parallel with this one. * Launch the given Scene and run it in parallel with this one.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#launch * @method Phaser.Scenes.ScenePlugin#launch
* @since 3.0.0 * @since 3.0.0
* *
@ -465,6 +471,8 @@ var ScenePlugin = new Class({
/** /**
* Runs the given Scene, but does not change the state of this Scene. * Runs the given Scene, but does not change the state of this Scene.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* If the given Scene is paused, it will resume it. If sleeping, it will wake it. * If the given Scene is paused, it will resume it. If sleeping, it will wake it.
* If not running at all, it will be started. * If not running at all, it will be started.
* *
@ -492,6 +500,8 @@ var ScenePlugin = new Class({
/** /**
* Pause the Scene - this stops the update step from happening but it still renders. * Pause the Scene - this stops the update step from happening but it still renders.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#pause * @method Phaser.Scenes.ScenePlugin#pause
* @since 3.0.0 * @since 3.0.0
* *
@ -512,6 +522,8 @@ var ScenePlugin = new Class({
/** /**
* Resume the Scene - starts the update loop again. * Resume the Scene - starts the update loop again.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#resume * @method Phaser.Scenes.ScenePlugin#resume
* @since 3.0.0 * @since 3.0.0
* *
@ -532,6 +544,8 @@ var ScenePlugin = new Class({
/** /**
* Makes the Scene sleep (no update, no render) but doesn't shutdown. * Makes the Scene sleep (no update, no render) but doesn't shutdown.
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#sleep * @method Phaser.Scenes.ScenePlugin#sleep
* @since 3.0.0 * @since 3.0.0
* *
@ -552,6 +566,8 @@ var ScenePlugin = new Class({
/** /**
* Makes the Scene wake-up (starts update and render) * Makes the Scene wake-up (starts update and render)
* *
* This will happen at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#wake * @method Phaser.Scenes.ScenePlugin#wake
* @since 3.0.0 * @since 3.0.0
* *
@ -572,10 +588,7 @@ var ScenePlugin = new Class({
/** /**
* Makes this Scene sleep then starts the Scene given. * Makes this Scene sleep then starts the Scene given.
* *
* No checks are made to see if an instance of the given Scene is already running. * This will happen at the next Scene Manager update, not immediately.
* Because Scenes in Phaser are non-exclusive, you are allowed to run multiple
* instances of them _at the same time_. This means, calling this function
* may launch another instance of the requested Scene if it's already running.
* *
* @method Phaser.Scenes.ScenePlugin#switch * @method Phaser.Scenes.ScenePlugin#switch
* @since 3.0.0 * @since 3.0.0
@ -597,6 +610,8 @@ var ScenePlugin = new Class({
/** /**
* Shutdown the Scene, clearing display list, timers, etc. * Shutdown the Scene, clearing display list, timers, etc.
* *
* This happens at the next Scene Manager update, not immediately.
*
* @method Phaser.Scenes.ScenePlugin#stop * @method Phaser.Scenes.ScenePlugin#stop
* @since 3.0.0 * @since 3.0.0
* *
@ -814,7 +829,7 @@ var ScenePlugin = new Class({
* The Scene is removed from the local scenes array, it's key is cleared from the keys * The Scene is removed from the local scenes array, it's key is cleared from the keys
* cache and Scene.Systems.destroy is then called on it. * cache and Scene.Systems.destroy is then called on it.
* *
* If the SceneManager is processing the Scenes when this method is called it wil * If the SceneManager is processing the Scenes when this method is called it will
* queue the operation for the next update sequence. * queue the operation for the next update sequence.
* *
* @method Phaser.Scenes.ScenePlugin#remove * @method Phaser.Scenes.ScenePlugin#remove

View file

@ -227,8 +227,9 @@ var BaseSoundManager = new Class({
}, },
/** /**
* Enables playing sound on the fly without the need to keep a reference to it. * Adds a new sound to the sound manager and plays it.
* Sound will auto destroy once its playback ends. * The sound will be automatically removed (destroyed) once playback ends.
* This lets you play a new sound on the fly without the need to keep a reference to it.
* *
* @method Phaser.Sound.BaseSoundManager#play * @method Phaser.Sound.BaseSoundManager#play
* @listens Phaser.Sound.Events#COMPLETE * @listens Phaser.Sound.Events#COMPLETE