# Class cocos.actions.grid3d_actions.Ripple3D

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

Simulates a ripple (radial wave) effect. The amplitude of the wave will decrease when it goes away from the center of the ripple. It modifies the z-coordinate while the x and y remains unmodified.

Example:

    scene.do( Ripple3D(center=(320,240), radius=240, waves=15, amplitude=60, duration=20, grid=(32,24) ) )

## Methods

| init(self, center=`(`-1`,` -1`)`, radius=240, waves=15, amplitude=60, *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

| position Center of the ripple.
| radius radius of the ripple.
| waves number of waves.
| 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, center=`(`-1`,` -1`)`, radius=240, waves=15, amplitude=60, *args, **kw)
Initialize the Grid Action

Parameters:
  center : (int,int)
    Center of the ripple. Default: (win_size_width /2, win_size_height /2 )
  radius : int
    Radius of the ripple. Default: 240
  waves : int
    Number of waves (2 * pi) that the action will perform. Default: 15
  amplitude : int
    Wave amplitude (height). Default is 60
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

### position

Center of the ripple. Type: (int,int). This value can be modified by other actions, like JumpBy to simulate a jumping ripple effect

### radius

radius of the ripple. Type: float

### waves

number of waves. Type: int

### amplitude_rate

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