cocos.actions.basegrid_actions module¶
Grid Actions
Grid Actions¶
There are 2 kinds of grids:
Grid3D : A 3D grid with x,y and z coordinates
- TiledGrid3DA 3D grid with x,y and z coordinates, composed
with independent tiles
Hence, there are 2 kinds of grid actions:
Grid3DAction
TiledGrid3DAction
The Grid3DAction can modify any of vertex of the grid in any direction (x,y or z). The TiledGrid3DAction can modify any tile of the grid without modifying the adjacent tiles.
To understand visually the difference between these 2 kinds of grids, try these examples:
run
test/test_shakytiles3d.py
to see a TiledGrid3DAction examplerun
test/test_shaky3d.py
to see the Grid3DAction counterpart
-
exception
GridException
¶ Bases:
Exception
-
class
AccelAmplitude
(*args, **kwargs)¶ Bases:
cocos.actions.base_actions.IntervalAction
Increases the waves amplitude from 0 to self.amplitude
Example:
# when t=0 the amplitude will be 0 # when t=1 the amplitude will be 40 action = AccelAmplitude( Wave3D( waves=4, amplitude=40, duration=6), rate=1.0 ) scene.do( action )
-
init
(other, rate=1)¶ Init method.
- Parameters
- otherIntervalAction
The action that will be affected
- ratefloat
The acceleration rate. 1 is linear (default value)
-
start
()¶ External code sets self.target and then calls this method. Perform here any extra initialization needed.
-
update
(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.
-
-
class
AccelDeccelAmplitude
(*args, **kwargs)¶ Bases:
cocos.actions.base_actions.IntervalAction
Increases and Decreases the amplitude of Wave
Example:
# when t=0 and t=1 the amplitude will be 0 # when t=0.5 (half time), the amplitude will be 40 action = AccellDeccelAmplitude( Wave3D( waves=4, amplitude=40, duration=6) ) scene.do( action )
-
init
(other, rate=1.0)¶ Init method.
- Parameters
- otherIntervalAction
The action that will be affected
- ratefloat
The acceleration rate. 1 is linear (default value)
-
start
()¶ External code sets self.target and then calls this method. Perform here any extra initialization needed.
-
update
(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.
-
-
class
DeccelAmplitude
(*args, **kwargs)¶ Bases:
cocos.actions.basegrid_actions.AccelAmplitude
Decreases the waves amplitude from self.amplitude to 0
Example:
# when t=1 the amplitude will be 0 # when t=0 the amplitude will be 40 action = DeccelAmplitude( Wave3D( waves=4, amplitude=40, duration=6), rate=1.0 ) scene.do( action )
-
update
(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.
-
-
class
Grid3DAction
(*args, **kwargs)¶ Bases:
cocos.actions.basegrid_actions.GridBaseAction
Action that does transformations to a 3D grid ( Grid3D )
-
get_grid
()¶
-
get_original_vertex
(x, y)¶ Get the original vertex coordinate. The original vertices are the ones weren’t modified by the current action.
- Parameters
- xint
x-vertex
- yint
y-vertex
- Return type
(float, float, float)
-
get_vertex
(x, y)¶ Get the current vertex coordinate
- Parameters
- xint
x-vertex
- yint
y-vertex
- Return type
(float, float, float)
-
set_vertex
(x, y, v)¶ Set a vertex point is a certain value
- Parameters
- xint
x-vertex
- yint
y-vertex
- v(float, float, float)
tuple value for the vertex
-
-
class
GridBaseAction
(*args, **kwargs)¶ Bases:
cocos.actions.base_actions.IntervalAction
GridBaseAction is the base class of all Grid Actions.
-
init
(grid=4, 4, duration=5)¶ Initialize the Grid Action
- Parameters
- grid(int,int)
Number of horizontal and vertical quads in the grid
- durationint
Number of seconds that the action will last
-
start
()¶ External code sets self.target and then calls this method. Perform here any extra initialization needed.
-
-
class
ReuseGrid
(*args, **kwargs)¶ Bases:
cocos.actions.base_actions.InstantAction
Will reuse the current grid for the next grid action. The next grid action must have these properties:
Be of the same class as the current one ( Grid3D or TiledGrid3D )
Have the same size
If these condition are met, then the next grid action will receive as the
original vertex
ororiginal tiles
the current ones.Example:
scene.do( Waves3D( duration=2) + ReuseGrid() + Lens3D(duration=2) )
-
init
(reuse_times=1)¶ - Parameters
- reuse_timesint
Number of times that the current grid will be reused by Grid actions. Default: 1
-
start
()¶ Here we must do out stuff
-
class
StopGrid
(*args, **kwargs)¶ Bases:
cocos.actions.base_actions.InstantAction
StopGrid disables the current grid. Every grid action, after finishing, leaves the screen with a certain grid figure. This figure will be displayed until StopGrid or another Grid action is executed.
Example:
scene.do( Waves3D( duration=2) + StopGrid() )
-
start
()¶ Here we must do out stuff
-
-
class
TiledGrid3DAction
(*args, **kwargs)¶ Bases:
cocos.actions.basegrid_actions.GridBaseAction
Action that does transformations to a grid composed of tiles ( TiledGrid3D ). You can transform each tile individually
-
get_grid
()¶
-
get_original_tile
(x, y)¶ Get the 4-original tile coordinates.
Coordinates positions:
3 <-- 2 ^ | 0 --> 1
- Parameters
- xint
x coordinate of the tile
- yint
y coordinate of the tile
- Return type
[ float, float, float, float, float, float, float, float, float, float, float, float ]
- Returns
The 4 coordinates with the following order: x0, y0, z0, x1, y1, z1,…,x3, y3, z3
-
get_tile
(x, y)¶ Get the current tile coordinates.
Coordinates positions:
3 <-- 2 ^ | 0 --> 1
- Parameters
- xint
x coordinate of the tile
- yint
y coordinate of the tile
- Return type
[ float, float, float, float, float, float, float, float, float, float, float, float ]
- Returns
The 4 coordinates with the following order: x0, y0, z0, x1, y1, z1,…,x3, y3, z3
-
set_tile
(x, y, coords)¶ Set the 4 tile coordinates
Coordinates positions:
3 <-- 2 ^ | 0 --> 1
- Parameters
- xint
x coodinate of the tile
- yint
y coordinate of the tile
- coords[ float, float, float, float, float, float, float, float, float, float, float, float ]
The 4 coordinates in the format (x0, y0, z0, x1, y1, z1,…, x3, y3, z3)
-