axmol/tools/tolua++/CCTransition.pkg

461 lines
12 KiB
Plaintext
Raw Normal View History

2011-06-14 14:31:25 +08:00
namespace cocos2d {
//static creation function macro
//c/c++ don't support object creation of using class name
//so, all classes need creation method.
/** Orientation Type used by some transitions
*/
typedef enum {
/// An horizontal orientation where the Left is nearer
kOrientationLeftOver = 0,
/// An horizontal orientation where the Right is nearer
kOrientationRightOver = 1,
/// A vertical orientation where the Up is nearer
kOrientationUpOver = 0,
/// A vertical orientation where the Bottom is nearer
kOrientationDownOver = 1,
} tOrientation;
/** @brief Base class for CCTransition scenes
*/
class CCTransitionScene : public CCScene
{
CCTransitionScene();
~CCTransitionScene();
void draw();
void onEnter();
void onExit();
void cleanup();
/** creates a base transition with duration and incoming scene */
static CCTransitionScene * transitionWithDuration(ccTime t, CCScene *scene);
/** initializes a transition with duration and incoming scene */
bool initWithDuration(ccTime t,CCScene* scene);
/** called after the transition finishes */
void finish(void);
/** used by some transitions to hide the outter scene */
void hideOutShowIn(void);
};
/** @brief A CCTransition that supports orientation like.
* Possible orientation: LeftOver, RightOver, UpOver, DownOver
*/
class CCTransitionSceneOriented : public CCTransitionScene
{
CCTransitionSceneOriented();
~CCTransitionSceneOriented();
/** creates a base transition with duration and incoming scene */
static CCTransitionSceneOriented * transitionWithDuration(ccTime t,CCScene* scene, tOrientation orientation);
/** initializes a transition with duration and incoming scene */
bool initWithDuration(ccTime t,CCScene* scene,tOrientation orientation);
};
/** @brief CCTransitionRotoZoom:
Rotate and zoom out the outgoing scene, and then rotate and zoom in the incoming
*/
class CCTransitionRotoZoom : public CCTransitionScene
{
CCTransitionRotoZoom();
~CCTransitionRotoZoom();
void onEnter();
static CCTransitionRotoZoom* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionJumpZoom:
Zoom out and jump the outgoing scene, and then jump and zoom in the incoming
*/
class CCTransitionJumpZoom : public CCTransitionScene
{
CCTransitionJumpZoom();
~CCTransitionJumpZoom();
void onEnter();
static CCTransitionJumpZoom* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionMoveInL:
Move in from to the left the incoming scene.
*/
class CCTransitionMoveInL : public CCTransitionScene, public CCTransitionEaseScene
{
public:
CCTransitionMoveInL();
~CCTransitionMoveInL();
/** initializes the scenes */
void initScenes(void);
/** returns the action that will be performed */
CCActionInterval* action(void);
CCActionInterval* easeActionWithAction(CCActionInterval * action);
void onEnter();
static CCTransitionMoveInL* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionMoveInR:
Move in from to the right the incoming scene.
*/
class CCTransitionMoveInR : public CCTransitionMoveInL
{
public:
CCTransitionMoveInR();
~CCTransitionMoveInR();
void initScenes();
static CCTransitionMoveInR* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionMoveInT:
Move in from to the top the incoming scene.
*/
class CCTransitionMoveInT : public CCTransitionMoveInL
{
public:
CCTransitionMoveInT();
~CCTransitionMoveInT();
void initScenes();
static CCTransitionMoveInT* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionMoveInB:
Move in from to the bottom the incoming scene.
*/
class CCTransitionMoveInB : public CCTransitionMoveInL
{
CCTransitionMoveInB();
~CCTransitionMoveInB();
void initScenes();
static CCTransitionMoveInB* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSlideInL:
Slide in the incoming scene from the left border.
*/
class CCTransitionSlideInL : public CCTransitionScene, public CCTransitionEaseScene
{
CCTransitionSlideInL();
~CCTransitionSlideInL();
/** initializes the scenes */
void initScenes(void);
/** returns the action that will be performed by the incomming and outgoing scene */
CCActionInterval* action(void);
void onEnter();
CCActionInterval* easeActionWithAction(CCActionInterval * action);
static CCTransitionSlideInL* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSlideInR:
Slide in the incoming scene from the right border.
*/
class CCTransitionSlideInR : public CCTransitionSlideInL
{
public:
CCTransitionSlideInR();
~CCTransitionSlideInR();
/** initializes the scenes */
void initScenes(void);
/** returns the action that will be performed by the incomming and outgoing scene */
CCActionInterval* action(void);
static CCTransitionSlideInR* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSlideInB:
Slide in the incoming scene from the bottom border.
*/
class CCTransitionSlideInB : public CCTransitionSlideInL
{
CCTransitionSlideInB();
~CCTransitionSlideInB();
/** initializes the scenes */
void initScenes(void);
/** returns the action that will be performed by the incomming and outgoing scene */
CCActionInterval* action(void);
static CCTransitionSlideInB* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSlideInT:
Slide in the incoming scene from the top border.
*/
class CCTransitionSlideInT : public CCTransitionSlideInL
{
CCTransitionSlideInT();
~CCTransitionSlideInT();
/** initializes the scenes */
void initScenes(void);
/** returns the action that will be performed by the incomming and outgoing scene */
CCActionInterval* action(void);
static CCTransitionSlideInT* transitionWithDuration(ccTime t, CCScene* scene);
};
/**
@brief Shrink the outgoing scene while grow the incoming scene
*/
class CCTransitionShrinkGrow : public CCTransitionScene , public CCTransitionEaseScene
{
CCTransitionShrinkGrow();
~CCTransitionShrinkGrow();
void onEnter();
CCActionInterval* easeActionWithAction(CCActionInterval * action);
static CCTransitionShrinkGrow* transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionFlipX:
Flips the screen horizontally.
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionFlipX : public CCTransitionSceneOriented
{
CCTransitionFlipX();
~CCTransitionFlipX();
void onEnter();
static CCTransitionFlipX* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};
/** @brief CCTransitionFlipY:
Flips the screen vertically.
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionFlipY : public CCTransitionSceneOriented
{
CCTransitionFlipY();
~CCTransitionFlipY();
void onEnter();
static CCTransitionFlipY* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationUpOver);
};
/** @brief CCTransitionFlipAngular:
Flips the screen half horizontally and half vertically.
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionFlipAngular : public CCTransitionSceneOriented
{
CCTransitionFlipAngular();
~CCTransitionFlipAngular();
void onEnter();
static CCTransitionFlipAngular* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};
/** @brief CCTransitionZoomFlipX:
Flips the screen horizontally doing a zoom out/in
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionZoomFlipX : public CCTransitionSceneOriented
{
CCTransitionZoomFlipX();
~CCTransitionZoomFlipX();
void onEnter();
static CCTransitionZoomFlipX* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};
/** @brief CCTransitionZoomFlipY:
Flips the screen vertically doing a little zooming out/in
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionZoomFlipY : public CCTransitionSceneOriented
{
CCTransitionZoomFlipY();
~CCTransitionZoomFlipY();
void onEnter();
static CCTransitionZoomFlipY* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationUpOver);
};
/** @brief CCTransitionZoomFlipAngular:
Flips the screen half horizontally and half vertically doing a little zooming out/in.
The front face is the outgoing scene and the back face is the incoming scene.
*/
class CCTransitionZoomFlipAngular : public CCTransitionSceneOriented
{
CCTransitionZoomFlipAngular();
~CCTransitionZoomFlipAngular();
void onEnter();
static CCTransitionZoomFlipAngular* transitionWithDuration(ccTime t, CCScene* s, tOrientation o = kOrientationRightOver);
};
/** @brief CCTransitionFade:
Fade out the outgoing scene and then fade in the incoming scene.'''
*/
class CCTransitionFade : public CCTransitionScene
{
CCTransitionFade();
~CCTransitionFade();
/** creates the transition with a duration and with an RGB color
* Example: FadeTransition::transitionWithDuration(2, scene, ccc3(255,0,0); // red color
*/
static CCTransitionFade* transitionWithDuration(ccTime duration,CCScene* scene, ccColor3B color = ccBLACK);
/** initializes the transition with a duration and with an RGB color */
bool initWithDuration(ccTime t, CCScene*scene ,ccColor3B color);
bool initWithDuration(ccTime t,CCScene* scene);
void onEnter();
void onExit();
};
/**
@brief CCTransitionCrossFade:
Cross fades two scenes using the CCRenderTexture object.
*/
class CCTransitionCrossFade : public CCTransitionScene
{
CCTransitionCrossFade();
~CCTransitionCrossFade();
void draw();
void onEnter();
void onExit();
static CCTransitionCrossFade * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionTurnOffTiles:
Turn off the tiles of the outgoing scene in random order
*/
class CCTransitionTurnOffTiles : public CCTransitionScene ,public CCTransitionEaseScene
{
CCTransitionTurnOffTiles();
~CCTransitionTurnOffTiles();
void onEnter();
CCActionInterval * easeActionWithAction(CCActionInterval * action);
static CCTransitionTurnOffTiles * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSplitCols:
The odd columns goes upwards while the even columns goes downwards.
*/
class CCTransitionSplitCols : public CCTransitionScene , public CCTransitionEaseScene
{
CCTransitionSplitCols();
~CCTransitionSplitCols();
CCActionInterval* action(void);
void onEnter();
CCActionInterval * easeActionWithAction(CCActionInterval * action);
static CCTransitionSplitCols * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionSplitRows:
The odd rows goes to the left while the even rows goes to the right.
*/
class CCTransitionSplitRows : public CCTransitionSplitCols
{
CCTransitionSplitRows();
~CCTransitionSplitRows();
CCActionInterval* action(void);
static CCTransitionSplitRows * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionFadeTR:
Fade the tiles of the outgoing scene from the left-bottom corner the to top-right corner.
*/
class CCTransitionFadeTR : public CCTransitionScene , public CCTransitionEaseScene
{
CCTransitionFadeTR();
~CCTransitionFadeTR();
CCActionInterval* actionWithSize(ccGridSize size);
void onEnter();
CCActionInterval* easeActionWithAction(CCActionInterval * action);
static CCTransitionFadeTR * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionFadeBL:
Fade the tiles of the outgoing scene from the top-right corner to the bottom-left corner.
*/
class CCTransitionFadeBL : public CCTransitionFadeTR
{
CCTransitionFadeBL();
~CCTransitionFadeBL();
CCActionInterval* actionWithSize(ccGridSize size);
static CCTransitionFadeBL * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionFadeUp:
* Fade the tiles of the outgoing scene from the bottom to the top.
*/
class CCTransitionFadeUp : public CCTransitionFadeTR
{
CCTransitionFadeUp();
~CCTransitionFadeUp();
CCActionInterval* actionWithSize(ccGridSize size);
static CCTransitionFadeUp * transitionWithDuration(ccTime t, CCScene* scene);
};
/** @brief CCTransitionFadeDown:
* Fade the tiles of the outgoing scene from the top to the bottom.
*/
class CCTransitionFadeDown : public CCTransitionFadeTR
{
CCTransitionFadeDown();
~CCTransitionFadeDown();
CCActionInterval* actionWithSize(ccGridSize size);
static CCTransitionFadeDown * transitionWithDuration(ccTime t, CCScene* scene);
};
}//namespace cocos2d