# Class cocos.actions.base_actions.InstantAction

        Action --+
                 |
    IntervalAction --+
                     |
                    InstantAction

Known Subclasses:
  instant_actions.CallFunc, instant_actions.Hide, instant_actions.Place, instant_actions.Show, instant_actions.ToggleVisibility, basegrid_actions.ReuseGrid, basegrid_actions.StopGrid, Loop_Instant_Action, Sequence_InstantAction, Spawn_InstantAction, audio.actions.PlayAction

Instant actions are actions that promises to do nothing when the methods step, update, and stop are called. Any changes that the action must perform on his target will be done in the .start() method The interface must be keept compatible with IntervalAction to allow the basic operators to combine an InstantAction with an IntervalAction and give an IntervalAction as a result.

## Methods

| __add__(self, action) sequence operator - concatenates actions action1 + action2 -> action_result where action_result performs as: first do all that action1 would do; then perform all that action2 would do (Inherited from cocos.actions.base_actions.Action)
| __init__(self, *args, **kwargs) dont override - use init
| __mul__(self, other)
| __or__(self, action) spawn operator - runs two actions in parallel action1 | action2 -> action_result (Inherited from cocos.actions.base_actions.Action)
| __reversed__(self) (Inherited from cocos.actions.base_actions.Action)
| done(self) When in the worker role, this method is reliable.
| init(*args, **kwargs) Gets called by __init__ with all the parameteres received, At this time the target for the action is unknown. (Inherited from cocos.actions.base_actions.Action)
| start(self) Here we must do out stuff
| step(self, dt) does nothing - dont override
| stop(self) does nothing - dont override
| update(self, t) does nothing - dont override

## Instance Variables

| target CocosNode object that is the target of the action (Inherited from cocos.actions.base_actions.Action)

## Method Details

### __init__

(Constructor) __init__(self, *args, **kwargs)
dont override - use init

Overrides:
  Action.__init__

### __mul__

__mul__(self, other)

Overrides:
  IntervalAction.__mul__

### done

done(self)
When in the worker role, this method is reliable. When in the component role, if the composite spares the call to step this method cannot be relied (an then the composite must decide by itself when the action is done). Example of later situation is Sequence_IntervalAction.

Overrides:
  IntervalAction.done

### start

start(self)
Here we must do out stuff

Overrides:
  Action.start

### step

step(self, dt)
does nothing - dont override

Overrides:
  IntervalAction.step

### stop

stop(self)
does nothing - dont override

Overrides:
  Action.stop

### update

update(self, t)
does nothing - dont override

Overrides:
  IntervalAction.update