Package arc.scene
Class Action
java.lang.Object
arc.scene.Action
- All Implemented Interfaces:
Pool.Poolable
- Direct Known Subclasses:
AddAction
,AddListenerAction
,DelegateAction
,LayoutAction
,OriginAction
,ParallelAction
,RemoveAction
,RemoveActorAction
,RemoveListenerAction
,RunnableAction
,TemporalAction
,TouchableAction
,VisibleAction
Actions attach to an
Element
and perform some task, often over time.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract boolean
act
(float delta) Updates the action based on time.getActor()
getPool()
void
reset()
Resets the optional state of this action to as if it were newly created, allowing the action to be pooled and reused.void
restart()
Sets the state of the action so it can be run again.void
Sets the actor this action is attached to.void
Sets the pool that the action will be returned to when removed from the actor.void
Sets the actor this action will manipulate.toString()
-
Field Details
-
actor
The actor this action is attached to, or null if it is not attached. -
target
The actor this action targets, or null if a target has not been set.
-
-
Constructor Details
-
Action
public Action()
-
-
Method Details
-
act
public abstract boolean act(float delta) Updates the action based on time. Typically this is called each frame byElement.act(float)
.- Parameters:
delta
- Time in seconds since the last frame.- Returns:
- true if the action is done. This method may continue to be called after the action is done.
-
restart
public void restart()Sets the state of the action so it can be run again. -
getActor
- Returns:
- null if the action is not attached to an actor.
-
setActor
Sets the actor this action is attached to. This also sets thetarget
actor if it is null. This method is called automatically when an action is added to an actor. This method is also called with null when an action is removed from an actor.When set to null, if the action has a
pool
then the action isreturned
to the pool (which callsreset()
) and the pool is set to null. If the action does not have a pool,reset()
is not called.This method is not typically a good place for an action subclass to query the actor's state because the action may not be executed for some time, eg it may be
delayed
. The actor's state is best queried in the first call toact(float)
. For aTemporalAction
, use TemporalAction#begin(). -
getTarget
- Returns:
- null if the action has no target.
-
setTarget
Sets the actor this action will manipulate. If no target actor is set,setActor(Element)
will set the target actor when the action is added to an actor. -
reset
public void reset()Resets the optional state of this action to as if it were newly created, allowing the action to be pooled and reused. State required to be set for every usage of this action or computed during the action does not need to be reset.The default implementation calls
restart()
.If a subclass has optional state, it must override this method, call super, and reset the optional state.
- Specified by:
reset
in interfacePool.Poolable
-
getPool
-
setPool
Sets the pool that the action will be returned to when removed from the actor.- Parameters:
pool
- May be null.- See Also:
-
toString
-