From 9cd57b731ab1c666d4a1cb725538fdc137763d12 Mon Sep 17 00:00:00 2001 From: Starla Insigna Date: Sat, 30 Jul 2011 11:19:14 -0400 Subject: Initial commit (version 0.2.1) --- libs/cocos2d/CCTransition.h | 296 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100755 libs/cocos2d/CCTransition.h (limited to 'libs/cocos2d/CCTransition.h') diff --git a/libs/cocos2d/CCTransition.h b/libs/cocos2d/CCTransition.h new file mode 100755 index 0000000..e37d3e8 --- /dev/null +++ b/libs/cocos2d/CCTransition.h @@ -0,0 +1,296 @@ +/* + * cocos2d for iPhone: http://www.cocos2d-iphone.org + * + * Copyright (c) 2008-2010 Ricardo Quesada + * Copyright (c) 2011 Zynga Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + */ + + +#import "CCScene.h" +@class CCActionInterval; +@class CCNode; + +/** CCTransitionEaseScene can ease the actions of the scene protocol. + @since v0.8.2 + */ +@protocol CCTransitionEaseScene +/** returns the Ease action that will be performed on a linear action. + @since v0.8.2 + */ +-(CCActionInterval*) easeActionWithAction:(CCActionInterval*)action; +@end + +/** 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; + +/** Base class for CCTransition scenes + */ +@interface CCTransitionScene : CCScene +{ + CCScene *inScene_; + CCScene *outScene_; + ccTime duration_; + BOOL inSceneOnTop_; + BOOL sendCleanupToScene_; +} +/** creates a base transition with duration and incoming scene */ ++(id) transitionWithDuration:(ccTime) t scene:(CCScene*)s; +/** initializes a transition with duration and incoming scene */ +-(id) initWithDuration:(ccTime) t scene:(CCScene*)s; +/** called after the transition finishes */ +-(void) finish; +/** used by some transitions to hide the outter scene */ +-(void) hideOutShowIn; +@end + +/** A CCTransition that supports orientation like. + * Possible orientation: LeftOver, RightOver, UpOver, DownOver + */ +@interface CCTransitionSceneOriented : CCTransitionScene +{ + tOrientation orientation; +} +/** creates a base transition with duration and incoming scene */ ++(id) transitionWithDuration:(ccTime) t scene:(CCScene*)s orientation:(tOrientation)o; +/** initializes a transition with duration and incoming scene */ +-(id) initWithDuration:(ccTime) t scene:(CCScene*)s orientation:(tOrientation)o; +@end + + +/** CCTransitionRotoZoom: + Rotate and zoom out the outgoing scene, and then rotate and zoom in the incoming + */ +@interface CCTransitionRotoZoom : CCTransitionScene +{} +@end + +/** CCTransitionJumpZoom: + Zoom out and jump the outgoing scene, and then jump and zoom in the incoming +*/ +@interface CCTransitionJumpZoom : CCTransitionScene +{} +@end + +/** CCTransitionMoveInL: + Move in from to the left the incoming scene. +*/ +@interface CCTransitionMoveInL : CCTransitionScene +{} +/** initializes the scenes */ +-(void) initScenes; +/** returns the action that will be performed */ +-(CCActionInterval*) action; +@end + +/** CCTransitionMoveInR: + Move in from to the right the incoming scene. + */ +@interface CCTransitionMoveInR : CCTransitionMoveInL +{} +@end + +/** CCTransitionMoveInT: + Move in from to the top the incoming scene. + */ +@interface CCTransitionMoveInT : CCTransitionMoveInL +{} +@end + +/** CCTransitionMoveInB: + Move in from to the bottom the incoming scene. + */ +@interface CCTransitionMoveInB : CCTransitionMoveInL +{} +@end + +/** CCTransitionSlideInL: + Slide in the incoming scene from the left border. + */ +@interface CCTransitionSlideInL : CCTransitionScene +{} +/** initializes the scenes */ +-(void) initScenes; +/** returns the action that will be performed by the incomming and outgoing scene */ +-(CCActionInterval*) action; +@end + +/** CCTransitionSlideInR: + Slide in the incoming scene from the right border. + */ +@interface CCTransitionSlideInR : CCTransitionSlideInL +{} +@end + +/** CCTransitionSlideInB: + Slide in the incoming scene from the bottom border. + */ +@interface CCTransitionSlideInB : CCTransitionSlideInL +{} +@end + +/** CCTransitionSlideInT: + Slide in the incoming scene from the top border. + */ +@interface CCTransitionSlideInT : CCTransitionSlideInL +{} +@end + +/** + Shrink the outgoing scene while grow the incoming scene + */ +@interface CCTransitionShrinkGrow : CCTransitionScene +{} +@end + +/** CCTransitionFlipX: + Flips the screen horizontally. + The front face is the outgoing scene and the back face is the incoming scene. + */ +@interface CCTransitionFlipX : CCTransitionSceneOriented +{} +@end + +/** CCTransitionFlipY: + Flips the screen vertically. + The front face is the outgoing scene and the back face is the incoming scene. + */ +@interface CCTransitionFlipY : CCTransitionSceneOriented +{} +@end + +/** CCTransitionFlipAngular: + Flips the screen half horizontally and half vertically. + The front face is the outgoing scene and the back face is the incoming scene. + */ +@interface CCTransitionFlipAngular : CCTransitionSceneOriented +{} +@end + +/** 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. + */ +@interface CCTransitionZoomFlipX : CCTransitionSceneOriented +{} +@end + +/** 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. + */ +@interface CCTransitionZoomFlipY : CCTransitionSceneOriented +{} +@end + +/** 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. + */ +@interface CCTransitionZoomFlipAngular : CCTransitionSceneOriented +{} +@end + +/** CCTransitionFade: + Fade out the outgoing scene and then fade in the incoming scene.''' + */ +@interface CCTransitionFade : CCTransitionScene +{ + ccColor4B color; +} +/** creates the transition with a duration and with an RGB color + * Example: [FadeTransition transitionWithDuration:2 scene:s withColor:ccc3(255,0,0)]; // red color + */ ++(id) transitionWithDuration:(ccTime)duration scene:(CCScene*)scene withColor:(ccColor3B)color; +/** initializes the transition with a duration and with an RGB color */ +-(id) initWithDuration:(ccTime)duration scene:(CCScene*)scene withColor:(ccColor3B)color; +@end + + +/** + CCTransitionCrossFade: + Cross fades two scenes using the CCRenderTexture object. + */ +@class CCRenderTexture; +@interface CCTransitionCrossFade : CCTransitionScene +{} +@end + +/** CCTransitionTurnOffTiles: + Turn off the tiles of the outgoing scene in random order + */ +@interface CCTransitionTurnOffTiles : CCTransitionScene +{} +@end + +/** CCTransitionSplitCols: + The odd columns goes upwards while the even columns goes downwards. + */ +@interface CCTransitionSplitCols : CCTransitionScene +{} +-(CCActionInterval*) action; +@end + +/** CCTransitionSplitRows: + The odd rows goes to the left while the even rows goes to the right. + */ +@interface CCTransitionSplitRows : CCTransitionSplitCols +{} +@end + +/** CCTransitionFadeTR: + Fade the tiles of the outgoing scene from the left-bottom corner the to top-right corner. + */ +@interface CCTransitionFadeTR : CCTransitionScene +{} +-(CCActionInterval*) actionWithSize:(ccGridSize) vector; +@end + +/** CCTransitionFadeBL: + Fade the tiles of the outgoing scene from the top-right corner to the bottom-left corner. + */ +@interface CCTransitionFadeBL : CCTransitionFadeTR +{} +@end + +/** CCTransitionFadeUp: + * Fade the tiles of the outgoing scene from the bottom to the top. + */ +@interface CCTransitionFadeUp : CCTransitionFadeTR +{} +@end + +/** CCTransitionFadeDown: + * Fade the tiles of the outgoing scene from the top to the bottom. + */ +@interface CCTransitionFadeDown : CCTransitionFadeTR +{} +@end -- cgit 1.4.1