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

public abstract class Action extends Object implements Pool.Poolable
Actions attach to an Element and perform some task, often over time.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Element
    The actor this action is attached to, or null if it is not attached.
    protected Element
    The actor this action targets, or null if a target has not been set.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract boolean
    act(float delta)
    Updates the action based on time.
     
     
     
    void
    Resets the optional state of this action to as if it were newly created, allowing the action to be pooled and reused.
    void
    Sets the state of the action so it can be run again.
    void
    Sets the actor this action is attached to.
    void
    setPool(Pool pool)
    Sets the pool that the action will be returned to when removed from the actor.
    void
    Sets the actor this action will manipulate.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • actor

      protected Element actor
      The actor this action is attached to, or null if it is not attached.
    • target

      protected Element 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 by Element.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

      public Element getActor()
      Returns:
      null if the action is not attached to an actor.
    • setActor

      public void setActor(Element actor)
      Sets the actor this action is attached to. This also sets the target 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 is returned to the pool (which calls reset()) 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 to act(float). For a TemporalAction, use TemporalAction#begin().

    • getTarget

      public Element getTarget()
      Returns:
      null if the action has no target.
    • setTarget

      public void setTarget(Element target)
      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 interface Pool.Poolable
    • getPool

      public Pool<Action> getPool()
    • setPool

      public void setPool(Pool pool)
      Sets the pool that the action will be returned to when removed from the actor.
      Parameters:
      pool - May be null.
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object