Cocos2d-x  v4
ActionInterval Class Reference

An interval action is an action that takes place within a certain period of time. It has an start time, and a finish time. The finish time is the parameter duration plus the start time. More...

Inherits FiniteTimeAction.

Inherited by AccelAmplitude, AccelDeccelAmplitude, ActionCamera, ActionEase, ActionFloat, ActionTween, Animate, Animate3D, BezierBy, Blink, CardinalSplineTo, DeccelAmplitude, DelayTime, FadeTo, GridAction, JumpBy, MoveBy, ProgressFromTo, ProgressTo, Repeat, RepeatForever, ResizeBy, ResizeTo, ReverseTime, RotateBy, RotateTo, ScaleTo, Sequence, SkewTo, Spawn, TargetedAction, TintBy, and TintTo.

Public Member Functions

float getElapsed ()
 How many seconds had elapsed since the actions started to run. More...
 
void setAmplitudeRate (float amp)
 Sets the amplitude rate, extension in GridAction. More...
 
float getAmplitudeRate ()
 Gets the amplitude rate, extension in GridAction. More...
 
virtual bool isDone () const override
 Return true if the action has finished. More...
 
virtual void step (float dt) override
 
virtual void startWithTarget (Node *target) override
 Called before the action start. More...
 
virtual ActionIntervalreverse () const override
 Returns a new action that performs the exact reverse of the action. More...
 
virtual ActionIntervalclone () const override
 Returns a clone of action. More...
 
- Public Member Functions inherited from FiniteTimeAction
float getDuration () const
 Get duration in seconds of the action. More...
 
void setDuration (float duration)
 Set duration in seconds of the action. More...
 
- Public Member Functions inherited from Action
virtual std::string description () const
 @js NA @lua NA
 
virtual void stop ()
 Called after the action has finished. More...
 
virtual void update (float time)
 Called once per frame. More...
 
NodegetTarget () const
 Return certain target. More...
 
void setTarget (Node *target)
 The action will modify the target properties. More...
 
NodegetOriginalTarget () const
 Return a original Target. More...
 
void setOriginalTarget (Node *originalTarget)
 Set the original target, since target can be nil. More...
 
int getTag () const
 Returns a tag that is used to identify the action easily. More...
 
void setTag (int tag)
 Changes the tag that is used to identify the action easily. More...
 
unsigned int getFlags () const
 Returns a flag field that is used to group the actions easily. More...
 
void setFlags (unsigned int flags)
 Changes the flag field that is used to group the actions easily. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 
- Public Member Functions inherited from Clonable
virtual ~Clonable ()
 @js NA @lua NA
 

Protected Member Functions

bool initWithDuration (float d)
 initializes the action
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 
- Static Public Attributes inherited from Action
static const int INVALID_TAG = -1
 Default tag used for all the actions.
 

Detailed Description

An interval action is an action that takes place within a certain period of time. It has an start time, and a finish time. The finish time is the parameter duration plus the start time.

These ActionInterval actions have some interesting properties, like:

  • They can run normally (default)
  • They can run reversed with the reverse method
  • They can run with the time altered with the Accelerate, AccelDeccel and Speed actions.

For example, you can simulate a Ping Pong effect running the action normally and then running it again in Reverse mode.

Example:

auto action = MoveBy::create(1.0f, Vec2::ONE);
auto pingPongAction = Sequence::create(action, action->reverse(), nullptr);

Member Function Documentation

◆ getElapsed()

float getElapsed ( )
inline

How many seconds had elapsed since the actions started to run.

Returns
The seconds had elapsed since the actions started to run.

◆ setAmplitudeRate()

void setAmplitudeRate ( float  amp)

Sets the amplitude rate, extension in GridAction.

Parameters
ampThe amplitude rate.

◆ getAmplitudeRate()

float getAmplitudeRate ( )

Gets the amplitude rate, extension in GridAction.

Returns
The amplitude rate.

◆ isDone()

virtual bool isDone ( ) const
overridevirtual

Return true if the action has finished.

Returns
Is true if the action has finished.

Reimplemented from Action.

Reimplemented in RepeatForever, Repeat, and Sequence.

◆ step()

virtual void step ( float  dt)
overridevirtual
Parameters
dtin seconds

Reimplemented from Action.

Reimplemented in RepeatForever, and Animate3D.

◆ startWithTarget()

virtual void startWithTarget ( Node target)
overridevirtual

◆ reverse()

◆ clone()

virtual ActionInterval* clone ( ) const
inlineoverridevirtual

Returns a clone of action.

Returns
A clone action.

Reimplemented from FiniteTimeAction.

Reimplemented in ActionFloat, TargetedAction, Animate, ReverseTime, DelayTime, TintBy, TintTo, FadeOut, FadeIn, FadeTo, Blink, ScaleBy, ScaleTo, BezierTo, BezierBy, JumpTo, JumpBy, ResizeBy, ResizeTo, SkewBy, SkewTo, MoveTo, Twirl, SplitCols, MoveBy, SplitRows, EaseBezierAction, RotateBy, EaseElasticInOut, EaseElasticOut, Waves, JumpTiles3D, EaseElasticIn, RotateTo, Liquid, WavesTiles3D, EaseInOut, EaseOut, EaseIn, Spawn, EaseCubicActionInOut, Shaky3D, EaseCubicActionOut, TurnOffTiles, EaseCubicActionIn, EaseCircleActionInOut, EaseCircleActionOut, EaseCircleActionIn, EaseQuinticActionInOut, EaseQuinticActionOut, DeccelAmplitude, CatmullRomBy, EaseQuinticActionIn, Ripple3D, FadeOutDownTiles, RepeatForever, EaseQuarticActionInOut, EaseQuarticActionOut, EaseQuarticActionIn, EaseQuadraticActionInOut, CatmullRomTo, FadeOutUpTiles, EaseQuadraticActionOut, AccelAmplitude, EaseQuadraticActionIn, EaseBackInOut, EaseBackOut, FadeOutBLTiles, CardinalSplineBy, EaseBackIn, Repeat, EaseBounceInOut, FadeOutTRTiles, Lens3D, EaseBounceOut, AccelDeccelAmplitude, EaseBounceIn, CardinalSplineTo, EaseSineInOut, EaseSineOut, TiledGrid3DAction, EaseSineIn, EaseExponentialInOut, Sequence, FlipY3D, EaseExponentialOut, ShuffleTiles, EaseExponentialIn, OrbitCamera, Grid3DAction, FlipX3D, ShatteredTiles3D, ProgressFromTo, ActionTween, Animate3D, Waves3D, ActionCamera, PageTurn3D, GridAction, ProgressTo, and ShakyTiles3D.


The documentation for this class was generated from the following file:
cocos2d::Vec2::ONE
static const Vec2 ONE
equals to Vec2(1,1)
Definition: Vec2.h:715
cocos2d::MoveBy::create
static MoveBy * create(float duration, const Vec2 &deltaPosition)
Creates the action.
cocos2d::Sequence::create
static Sequence * create(FiniteTimeAction *action1,...) CC_REQUIRES_NULL_TERMINATION
Helper constructor to create an array of sequenceable actions.