phaser - v4.0.0-rc.4
    Preparing search index...

    A Tween is able to manipulate the properties of one or more objects to any given value, based on a duration and type of ease. They are rarely instantiated directly and instead should be created via the TweenManager.

    Please note that a Tween will not manipulate any property that begins with an underscore.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    callbacks: TweenCallbacks

    An object containing the different Tween callback functions.

    You can either set these in the Tween config, or by calling the Tween.setCallback method.

    The types available are:

    onActive - When the Tween is first created it moves to an 'active' state when added to the Tween Manager. 'Active' does not mean 'playing'. onStart - When the Tween starts playing after a delayed or paused state. This will happen at the same time as onActive if the tween has no delay and isn't paused. onLoop - When a Tween loops, if it has been set to do so. This happens after the loopDelay expires, if set. onComplete - When the Tween finishes playback fully. Never invoked if the Tween is set to repeat infinitely. onStop - Invoked only if the Tween.stop method is called. onPause - Invoked only if the Tween.pause method is called. Not invoked if the Tween Manager is paused. onResume - Invoked only if the Tween.resume method is called. Not invoked if the Tween Manager is resumed.

    The following types are also available and are invoked on a TweenData level - that is per-object, per-property, being tweened.

    onYoyo - When a TweenData starts a yoyo. This happens after the hold delay expires, if set. onRepeat - When a TweenData repeats playback. This happens after the repeatDelay expires, if set. onUpdate - When a TweenData updates a property on a source target during playback.

    callbackScope: any

    The scope (or context) in which all of the callbacks are invoked.

    This defaults to be this Tween, but you can override this property to set it to whatever object you require.

    completeDelay: number

    The time in milliseconds before the 'onComplete' event fires.

    This never fires if loop = -1 as it never completes because it has been set to loop forever.

    countdown: number

    An internal countdown timer (used by loopDelay and completeDelay)

    data: Tween[] | TweenData[]

    The main data array. For a Tween, this contains all of the TweenData objects, each containing a unique property and target that is being tweened.

    For a TweenChain, this contains an array of Tween instances, which are being played through in sequence.

    duration: number

    Time in milliseconds for the whole Tween to play through once, excluding loop amounts and loop delays.

    This value is set in the Tween.initTweenData method and is zero before that point.

    elapsed: number

    Elapsed time in milliseconds of this run through of the Tween.

    hasStarted: boolean

    Has this Tween started playback yet?

    This boolean is toggled when the Tween leaves the 'start delayed' state and begins running.

    isInfinite: boolean

    Does this Tween loop or repeat infinitely?

    isNumberTween: boolean

    Is this Tween a Number Tween? Number Tweens are a special kind of tween that don't have a target.

    isSeeking: boolean

    Is this Tween currently seeking?

    This boolean is toggled in the Tween.seek method.

    When a tween is seeking, by default it will not dispatch any events or callbacks.

    loop: number

    The number of times this Tween will loop.

    Can be -1 for an infinite loop, zero for none, or a positive integer.

    Typically this is set in the configuration object, but can also be set directly as long as this Tween is paused and hasn't started playback.

    When enabled it will play through ALL Tweens again.

    Use TweenData.repeat to loop a single element.

    loopCounter: number

    Internal counter recording how many loops are left to run.

    loopDelay: number

    The time in milliseconds before the Tween loops.

    Only used if loop is > 0.

    A reference to the Tween Manager, or Tween Chain, that owns this Tween.

    paused: boolean

    Is the Tween currently paused?

    A paused Tween needs to be started with the play method, or resumed with the resume method.

    This property can be toggled at runtime if required.

    persist: boolean

    Will this Tween persist after playback? A Tween that persists will not be destroyed by the Tween Manager, or when calling Tween.stop, and can be re-played as required. You can either set this property when creating the tween in the tween config, or set it prior to playback.

    However, it's up to you to ensure you destroy persistent tweens when you are finished with them, or they will retain references you may no longer require and waste memory.

    By default, Tweens are set to not persist, so they are automatically cleaned-up by the Tween Manager.

    progress: number

    Value between 0 and 1. The amount of progress through the Tween, excluding loops.

    startDelay: number

    The time in milliseconds before the 'onStart' event fires.

    For a Tween, this is the shortest delay value across all of the TweenDatas it owns. For a TweenChain, it is whatever delay value was given in the configuration.

    state: States

    The current state of the Tween.

    targets: object[]

    An array of references to the target/s this Tween is operating on.

    This array should not be manipulated outside of this Tween.

    timeScale: number

    Scales the time applied to this Tween. A value of 1 runs in real-time. A value of 0.5 runs 50% slower, and so on.

    The value isn't used when calculating total duration of the tween, it's a run-time delta adjustment only.

    This value is multiplied by the TweenManager.timeScale.

    totalData: number

    The cached size of the data array.

    totalDuration: number

    Time in milliseconds it takes for the Tween to complete a full playthrough (including looping)

    For an infinite Tween, this value is a very large integer.

    totalElapsed: number

    Total elapsed time in milliseconds of the entire Tween, including looping.

    totalProgress: number

    The amount of progress that has been made through the entire Tween, including looping.

    A value between 0 and 1.

    totalTargets: number

    Cached target total.

    Used internally and should be treated as read-only.

    This is not necessarily the same as the data total.

    Methods

    • Adds a new TweenData to this Tween. Typically, this method is called automatically by the TweenBuilder, however you can also invoke it yourself.

      Parameters

      • targetIndex: number

        The target index within the Tween targets array.

      • key: string

        The property of the target to tween.

      • getEnd: GetEndCallback

        What the property will be at the END of the Tween.

      • getStart: GetStartCallback

        What the property will be at the START of the Tween.

      • getActive: GetActiveCallback

        If not null, is invoked immediately as soon as the TweenData is running, and is set on the target property.

      • ease: Function

        The ease function this tween uses.

      • delay: Function

        Function that returns the time in milliseconds before tween will start.

      • duration: number

        The duration of the tween in milliseconds.

      • yoyo: boolean

        Determines whether the tween should return back to its start value after hold has expired.

      • hold: number

        Function that returns the time in milliseconds the tween will pause before repeating or returning to its starting value if yoyo is set to true.

      • repeat: number

        Function that returns the number of times to repeat the tween. The tween will always run once regardless, so a repeat value of '1' will play the tween twice.

      • repeatDelay: number

        Function that returns the time in milliseconds before the repeat will start.

      • flipX: boolean

        Should toggleFlipX be called when yoyo or repeat happens?

      • flipY: boolean

        Should toggleFlipY be called when yoyo or repeat happens?

      • interpolation: Function

        The interpolation function to be used for arrays of data. Defaults to 'null'.

      • interpolationData: number[]

        The array of interpolation data to be set. Defaults to 'null'.

      Returns TweenData

    • Adds a new TweenFrameData to this Tween. Typically, this method is called automatically by the TweenBuilder, however you can also invoke it yourself.

      Parameters

      • targetIndex: number

        The target index within the Tween targets array.

      • texture: string

        The texture to set on the target at the end of the tween.

      • frame: string | number

        The texture frame to set on the target at the end of the tween.

      • delay: Function

        Function that returns the time in milliseconds before tween will start.

      • duration: number

        The duration of the tween in milliseconds.

      • hold: number

        Function that returns the time in milliseconds the tween will pause before repeating or returning to its starting value if yoyo is set to true.

      • repeat: number

        Function that returns the number of times to repeat the tween. The tween will always run once regardless, so a repeat value of '1' will play the tween twice.

      • repeatDelay: number

        Function that returns the time in milliseconds before the repeat will start.

      • flipX: boolean

        Should toggleFlipX be called when yoyo or repeat happens?

      • flipY: boolean

        Should toggleFlipY be called when yoyo or repeat happens?

      Returns TweenFrameData

    • Add a listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Flags the Tween as being complete, whatever stage of progress it is at.

      If an onComplete callback has been defined it will automatically invoke it, unless a delay argument is provided, in which case the Tween will delay for that period of time before calling the callback.

      If you don't need a delay or don't have an onComplete callback then call Tween.stop instead.

      Parameters

      • Optionaldelay: number

        The time to wait before invoking the complete callback. If zero it will fire immediately. Default 0.

      Returns this

    • Flags the Tween as being complete only once the current loop has finished.

      This is a useful way to stop an infinitely looping tween once a complete cycle is over, rather than abruptly.

      If you don't have a loop then call Tween.stop instead.

      Parameters

      • Optionalloops: number

        The number of loops that should finish before this tween completes. Zero means complete just the current loop. Default 0.

      Returns this

    • Handles the destroy process of this Tween, clearing out the Tween Data and resetting the targets. A Tween that has been destroyed cannot ever be played or used again.

      Returns void

    • Internal method that will emit a Tween based Event and invoke the given callback.

      Parameters

      • event: string

        The Event to be dispatched.

      • Optionalcallback: TweenCallbackTypes

        The name of the callback to be invoked. Can be null or undefined to skip invocation.

      Returns void

    • Calls each of the listeners registered for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • ...args: any[]

        Additional arguments that will be passed to the event handler.

      Returns boolean

    • Return an array listing the events for which the emitter has registered listeners.

      Returns (string | symbol)[]

    • Moves this Tween forward by the given amount of milliseconds.

      It will only advance through the current loop of the Tween. For example, if the Tween is set to repeat or yoyo, it can only fast forward through a single section of the sequence. Use Tween.seek for more complex playhead control.

      If the Tween is paused or has already finished, calling this will have no effect.

      Parameters

      • ms: number

        The number of milliseconds to advance this Tween by.

      Returns this

    • Gets the value of the time scale applied to this Tween. A value of 1 runs in real-time. A value of 0.5 runs 50% slower, and so on.

      Returns number

    • Returns the current value of the specified Tween Data.

      If this Tween has been destroyed, it will return null.

      Parameters

      • Optionalindex: number

        The Tween Data to return the value from. Default 0.

      Returns number

    • See if this Tween is currently acting upon the given target.

      Parameters

      • target: object

        The target to check against this Tween.

      Returns boolean

    • Initialises all of the Tween Data and Tween values.

      This is called automatically and should not typically be invoked directly.

      Parameters

      • OptionalisSeeking: boolean

        Is the Tween Data being reset as part of a seek? Default false.

      Returns void

    • Checks if the Tween is currently paused.

      This is the same as inspecting the BaseTween.paused property directly.

      Returns boolean

    • Checks if this Tween is currently playing.

      If this Tween is paused, or not active, this method will return false.

      Returns boolean

    • Return the number of listeners listening to a given event.

      Parameters

      • event: string | symbol

        The event name.

      Returns number

    • Return the listeners registered for a given event.

      Parameters

      • event: string | symbol

        The event name.

      Returns Function[]

    • Internal method that advances to the next state of the Tween during playback.

      Returns boolean

    • Remove the listeners of a given event.

      Parameters

      • event: string | symbol

        The event name.

      • Optionalfn: Function

        Only remove the listeners that match this function.

      • Optionalcontext: any

        Only remove the listeners that have this context.

      • Optionalonce: boolean

        Only remove one-time listeners.

      Returns this

    • Add a listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Add a one-time listener for a given event.

      Parameters

      • event: string | symbol

        The event name.

      • fn: Function

        The listener function.

      • Optionalcontext: any

        The context to invoke the listener with. Default this.

      Returns this

    • Pauses the Tween immediately. Use resume to continue playback.

      You can also toggle the Tween.paused boolean property, but doing so will not trigger the PAUSE event.

      Returns this

    • Starts a Tween playing.

      You only need to call this method if you have configured the tween to be paused on creation.

      If the Tween is already playing, calling this method again will have no effect. If you wish to restart the Tween, use Tween.restart instead.

      Calling this method after the Tween has completed will start the Tween playing again from the beginning. This is the same as calling Tween.seek(0) and then Tween.play().

      Returns this

    • Immediately removes this Tween from the TweenManager and all of its internal arrays, no matter what stage it is at. Then sets the tween state to REMOVED.

      You should dispose of your reference to this tween after calling this method, to free it from memory. If you no longer require it, call Tween.destroy() on it.

      Returns this

    • Remove all listeners, or those of the specified event.

      Parameters

      • Optionalevent: string | symbol

        The event name.

      Returns this

    • Remove the listeners of a given event.

      Parameters

      • event: string | symbol

        The event name.

      • Optionalfn: Function

        Only remove the listeners that match this function.

      • Optionalcontext: any

        Only remove the listeners that have this context.

      • Optionalonce: boolean

        Only remove one-time listeners.

      Returns this

    • Resets this Tween ready for another play-through.

      This is called automatically from the Tween Manager, or from the parent TweenChain, and should not typically be invoked directly.

      If you wish to restart this Tween, use the Tween.restart or Tween.seek methods instead.

      Parameters

      • OptionalskipInit: boolean

        Skip resetting the TweenData and Active State? Default false.

      Returns this

    • Restarts the Tween from the beginning.

      If the Tween has already finished and been destroyed, restarting it will throw an error.

      If you wish to restart the Tween from a specific point, use the Tween.seek method instead.

      Returns this

    • Resumes the playback of a previously paused Tween.

      You can also toggle the Tween.paused boolean property, but doing so will not trigger the RESUME event.

      Returns this

    • Moves this Tween backward by the given amount of milliseconds.

      It will only rewind through the current loop of the Tween. For example, if the Tween is set to repeat or yoyo, it can only fast forward through a single section of the sequence. Use Tween.seek for more complex playhead control.

      If the Tween is paused or has already finished, calling this will have no effect.

      Parameters

      • ms: number

        The number of milliseconds to rewind this Tween by.

      Returns this

    • Seeks to a specific point in the Tween.

      The given amount is a value in milliseconds that represents how far into the Tween you wish to seek, based on the start of the Tween.

      Note that the seek amount takes the entire duration of the Tween into account, including delays, loops and repeats. For example, a Tween that lasts for 2 seconds, but that loops 3 times, would have a total duration of 6 seconds, so seeking to 3000 ms would seek to the Tweens half-way point based on its entire duration.

      Prior to Phaser 3.60 this value was given as a number between 0 and 1 and didn't work for Tweens had an infinite repeat. This new method works for all Tweens.

      Seeking works by resetting the Tween to its initial values and then iterating through the Tween at delta jumps per step. The longer the Tween, the longer this can take. If you need more precision you can reduce the delta value. If you need a faster seek, you can increase it. When the Tween is reset it will refresh the starting and ending values. If these are coming from a dynamic function, or a random array, it will be called for each seek.

      While seeking the Tween will not emit any of its events or callbacks unless the 3rd parameter is set to true.

      If this Tween is paused, seeking will not change this fact. It will advance the Tween to the desired point and then pause it again.

      Parameters

      • Optionalamount: number

        The number of milliseconds to seek into the Tween from the beginning. Default 0.

      • Optionaldelta: number

        The size of each step when seeking through the Tween. A higher value completes faster but at the cost of less precision. Default 16.6.

      • Optionalemit: boolean

        While seeking, should the Tween emit any of its events or callbacks? The default is 'false', i.e. to seek silently. Default false.

      Returns this

    • Sets an event based callback to be invoked during playback.

      Calling this method will replace a previously set callback for the given type, if any exists.

      The types available are:

      onActive - When the Tween is first created it moves to an 'active' state when added to the Tween Manager. 'Active' does not mean 'playing'. onStart - When the Tween starts playing after a delayed or paused state. This will happen at the same time as onActive if the tween has no delay and isn't paused. onLoop - When a Tween loops, if it has been set to do so. This happens after the loopDelay expires, if set. onComplete - When the Tween finishes playback fully. Never invoked if the Tween is set to repeat infinitely. onStop - Invoked only if the Tween.stop method is called. onPause - Invoked only if the Tween.pause method is called. Not invoked if the Tween Manager is paused. onResume - Invoked only if the Tween.resume method is called. Not invoked if the Tween Manager is resumed.

      The following types are also available and are invoked on a TweenData level - that is per-object, per-property, being tweened.

      onYoyo - When a TweenData starts a yoyo. This happens after the hold delay expires, if set. onRepeat - When a TweenData repeats playback. This happens after the repeatDelay expires, if set. onUpdate - When a TweenData updates a property on a source target during playback.

      Parameters

      • type: TweenCallbackTypes

        The type of callback to set. One of: onActive, onComplete, onLoop, onPause, onRepeat, onResume, onStart, onStop, onUpdate or onYoyo.

      • callback: Function

        Your callback that will be invoked.

      • Optionalparams: any[]

        The parameters to pass to the callback. Pass an empty array if you don't want to define any, but do wish to set the scope.

      Returns this

    • Sets the value of the time scale applied to this Tween. A value of 1 runs in real-time. A value of 0.5 runs 50% slower, and so on.

      The value isn't used when calculating total duration of the tween, it's a run-time delta adjustment only.

      This value is multiplied by the TweenManager.timeScale.

      Parameters

      • value: number

        The time scale value to set.

      Returns this

    • Stops the Tween immediately, whatever stage of progress it is at.

      If not a part of a Tween Chain it is also flagged for removal by the Tween Manager.

      If an onStop callback has been defined it will automatically invoke it.

      The Tween will be removed during the next game frame, but should be considered 'destroyed' from this point on.

      Typically, you cannot play a Tween that has been stopped. If you just wish to pause the tween, not destroy it, then call the pause method instead and use resume to continue playback. If you wish to restart the Tween, use the restart or seek methods.

      Returns this

    • Internal method that advances the Tween based on the time values.

      Parameters

      • delta: number

        The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.

      Returns boolean

    • Internal method that handles the processing of the complete delay countdown timer and the dispatch of related events. Called automatically by Tween.update.

      Parameters

      • delta: number

        The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.

      Returns void

    • Internal method that handles the processing of the loop delay countdown timer and the dispatch of related events. Called automatically by Tween.update.

      Parameters

      • delta: number

        The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.

      Returns void

    • Internal method that handles the processing of the start delay countdown timer and the dispatch of related events. Called automatically by Tween.update.

      Parameters

      • delta: number

        The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.

      Returns void

    • Updates the 'end' value of the given property across all matching targets, as long as this Tween is currently playing (either forwards or backwards).

      Calling this does not adjust the duration of the Tween, or the current progress.

      You can optionally tell it to set the 'start' value to be the current value.

      If this Tween is in any other state other than playing then calling this method has no effect.

      Additionally, if the Tween repeats, is reset, or is seeked, it will revert to the original starting and ending values.

      Parameters

      • key: string

        The property to set the new value for. You cannot update the 'texture' property via this method.

      • value: number

        The new value of the property.

      • OptionalstartToCurrent: boolean

        Should this change set the start value to be the current value? Default false.

      Returns this