Class cocos.actions.grid3d_actions.Waves3D

    base_actions.Action --+            
                          |            
base_actions.IntervalAction --+        
                              |        
basegrid_actions.GridBaseAction --+    
                                  |    
      basegrid_actions.Grid3DAction --+
                                      |
                                     Waves3D

Simulates waves using the math.sin() function in the z-axis The x and y coordinates remains unmodified.

Example:

scene.do( Waves3D( waves=5, amplitude=40, grid=(16,16), duration=10) )

Methods

  init(self, waves=4, amplitude=20, *args, **kw)
Initialize the Grid Action
  update(self, t)
Gets called on every frame 't' is the time elapsed normalized to [0, 1] If this action takes 5 seconds to execute, t will be equal to 0 at 0 seconds.
  __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
(Inherited from cocos.actions.base_actions.Action)
  __mul__(self, other)
repeats ntimes the action action * n -> action_result where action result performs as: repeat n times the changes that action would do
(Inherited from cocos.actions.base_actions.IntervalAction)
  __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.basegrid_actions.GridBaseAction)
  done(self)
When in the worker role, this method is reliable.
(Inherited from cocos.actions.base_actions.IntervalAction)
  get_grid(self) (Inherited from cocos.actions.basegrid_actions.Grid3DAction)
(float, float, float) get_original_vertex(self, x, y)
Get the original vertex coordinate.
(Inherited from cocos.actions.basegrid_actions.Grid3DAction)
(float, float, float) get_vertex(self, x, y)
Get the current vertex coordinate
(Inherited from cocos.actions.basegrid_actions.Grid3DAction)
  set_vertex(self, x, y, v)
Set a vertex point is a certain value
(Inherited from cocos.actions.basegrid_actions.Grid3DAction)
  start(self)
External code sets self.target and then calls this method.
(Inherited from cocos.actions.basegrid_actions.GridBaseAction)
  step(self, dt)
Dont customize this method: it will not be called when in the component role for certain composite actions (like Sequence_IntervalAction).
(Inherited from cocos.actions.base_actions.IntervalAction)
  stop(self)
When the action must cease to perform this function is called by external code; after this call no other method should be called.
(Inherited from cocos.actions.base_actions.Action)

Instance Variables

  waves
Total number of waves to perform
  amplitude_rate
amplitude rate.
  target
CocosNode object that is the target of the action
(Inherited from cocos.actions.base_actions.Action)

Method Details

init

init(self, waves=4, amplitude=20, *args, **kw)
Initialize the Grid Action
Parameters:
waves : int
Number of waves (2 * pi) that the action will perform. Default is 4
amplitude : int
Wave amplitude (height). Default is 20
Overrides:
basegrid_actions.GridBaseAction.init

update

update(self, t)
Gets called on every frame 't' is the time elapsed normalized to [0, 1] If this action takes 5 seconds to execute, t will be equal to 0 at 0 seconds. t will be 0.5 at 2.5 seconds and t will be 1 at 5sec. This method must not use self._elapsed, which is not guaranted to be updated.
Overrides:
base_actions.IntervalAction.update

Instance Variable Details

amplitude_rate

amplitude rate. Default: 1.0. This value is modified by other actions like AccelAmplitude.