00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #import "CCNode.h"
00028 #import "CCAction.h"
00029 #import "CCProtocols.h"
00030
00031 #include <sys/time.h>
00032
00049 @interface CCIntervalAction: CCFiniteTimeAction <NSCopying>
00050 {
00051 ccTime elapsed;
00052 BOOL firstTick;
00053 }
00054
00056 @property (nonatomic,readonly) ccTime elapsed;
00057
00059 +(id) actionWithDuration: (ccTime) d;
00061 -(id) initWithDuration: (ccTime) d;
00063 -(BOOL) isDone;
00065 - (CCIntervalAction*) reverse;
00066 @end
00067
00070 @interface CCSequence : CCIntervalAction <NSCopying>
00071 {
00072 CCFiniteTimeAction *actions[2];
00073 ccTime split;
00074 int last;
00075 }
00077 +(id) actions: (CCFiniteTimeAction*) action1, ... NS_REQUIRES_NIL_TERMINATION;
00079 +(id) actionOne:(CCFiniteTimeAction*)actionOne two:(CCFiniteTimeAction*)actionTwo;
00081 -(id) initOne:(CCFiniteTimeAction*)actionOne two:(CCFiniteTimeAction*)actionTwo;
00082 @end
00083
00084
00088 @interface CCRepeat : CCIntervalAction <NSCopying>
00089 {
00090 unsigned int times_;
00091 unsigned int total_;
00092 CCFiniteTimeAction *other_;
00093 }
00095 +(id) actionWithAction:(CCFiniteTimeAction*)action times: (unsigned int)times;
00097 -(id) initWithAction:(CCFiniteTimeAction*)action times: (unsigned int)times;
00098 @end
00099
00102 @interface CCSpawn : CCIntervalAction <NSCopying>
00103 {
00104 CCFiniteTimeAction *one;
00105 CCFiniteTimeAction *two;
00106 }
00108 +(id) actions: (CCFiniteTimeAction*) action1, ... NS_REQUIRES_NIL_TERMINATION;
00110 +(id) actionOne: (CCFiniteTimeAction*) one two:(CCFiniteTimeAction*) two;
00112 -(id) initOne: (CCFiniteTimeAction*) one two:(CCFiniteTimeAction*) two;
00113 @end
00114
00119 @interface CCRotateTo : CCIntervalAction <NSCopying>
00120 {
00121 float dstAngle;
00122 float startAngle;
00123 float diffAngle;
00124 }
00126 +(id) actionWithDuration:(ccTime)duration angle:(float)angle;
00128 -(id) initWithDuration:(ccTime)duration angle:(float)angle;
00129 @end
00130
00133 @interface CCRotateBy : CCIntervalAction <NSCopying>
00134 {
00135 float angle;
00136 float startAngle;
00137 }
00139 +(id) actionWithDuration:(ccTime)duration angle:(float)deltaAngle;
00141 -(id) initWithDuration:(ccTime)duration angle:(float)deltaAngle;
00142 @end
00143
00146 @interface CCMoveTo : CCIntervalAction <NSCopying>
00147 {
00148 CGPoint endPosition;
00149 CGPoint startPosition;
00150 CGPoint delta;
00151 }
00153 +(id) actionWithDuration:(ccTime)duration position:(CGPoint)position;
00155 -(id) initWithDuration:(ccTime)duration position:(CGPoint)position;
00156 @end
00157
00162 @interface CCMoveBy : CCMoveTo <NSCopying>
00163 {
00164 }
00166 +(id) actionWithDuration: (ccTime)duration position:(CGPoint)deltaPosition;
00168 -(id) initWithDuration: (ccTime)duration position:(CGPoint)deltaPosition;
00169 @end
00170
00173 @interface CCJumpBy : CCIntervalAction <NSCopying>
00174 {
00175 CGPoint startPosition;
00176 CGPoint delta;
00177 ccTime height;
00178 int jumps;
00179 }
00181 +(id) actionWithDuration: (ccTime)duration position:(CGPoint)position height:(ccTime)height jumps:(int)jumps;
00183 -(id) initWithDuration: (ccTime)duration position:(CGPoint)position height:(ccTime)height jumps:(int)jumps;
00184 @end
00185
00188 @interface CCJumpTo : CCJumpBy <NSCopying>
00189 {
00190 }
00191 @end
00192
00195 typedef struct _ccBezierConfig {
00197 CGPoint endPosition;
00199 CGPoint controlPoint_1;
00201 CGPoint controlPoint_2;
00202 } ccBezierConfig;
00203
00206 @interface CCBezierBy : CCIntervalAction <NSCopying>
00207 {
00208 ccBezierConfig config;
00209 CGPoint startPosition;
00210 }
00211
00213 +(id) actionWithDuration: (ccTime) t bezier:(ccBezierConfig) c;
00214
00216 -(id) initWithDuration: (ccTime) t bezier:(ccBezierConfig) c;
00217 @end
00218
00222 @interface CCBezierTo : CCBezierBy
00223 {
00224 }
00225 @end
00226
00230 @interface CCScaleTo : CCIntervalAction <NSCopying>
00231 {
00232 float scaleX;
00233 float scaleY;
00234 float startScaleX;
00235 float startScaleY;
00236 float endScaleX;
00237 float endScaleY;
00238 float deltaX;
00239 float deltaY;
00240 }
00242 +(id) actionWithDuration: (ccTime)duration scale:(float) s;
00244 -(id) initWithDuration: (ccTime)duration scale:(float) s;
00246 +(id) actionWithDuration: (ccTime)duration scaleX:(float) sx scaleY:(float)sy;
00248 -(id) initWithDuration: (ccTime)duration scaleX:(float) sx scaleY:(float)sy;
00249 @end
00250
00253 @interface CCScaleBy : CCScaleTo <NSCopying>
00254 {
00255 }
00256 @end
00257
00260 @interface CCBlink : CCIntervalAction <NSCopying>
00261 {
00262 int times;
00263 }
00265 +(id) actionWithDuration: (ccTime)duration blinks:(unsigned int)blinks;
00267 -(id) initWithDuration: (ccTime)duration blinks:(unsigned int)blinks;
00268 @end
00269
00273 @interface CCFadeIn : CCIntervalAction <NSCopying>
00274 {
00275 }
00276 @end
00277
00281 @interface CCFadeOut : CCIntervalAction <NSCopying>
00282 {
00283 }
00284 @end
00285
00289 @interface CCFadeTo : CCIntervalAction <NSCopying>
00290 {
00291 GLubyte toOpacity;
00292 GLubyte fromOpacity;
00293 }
00295 +(id) actionWithDuration:(ccTime)duration opacity:(GLubyte)opactiy;
00297 -(id) initWithDuration:(ccTime)duration opacity:(GLubyte)opacity;
00298 @end
00299
00304 @interface CCTintTo : CCIntervalAction <NSCopying>
00305 {
00306 ccColor3B to;
00307 ccColor3B from;
00308 }
00310 +(id) actionWithDuration:(ccTime)duration red:(GLubyte)red green:(GLubyte)green blue:(GLubyte)blue;
00312 -(id) initWithDuration:(ccTime)duration red:(GLubyte)red green:(GLubyte)green blue:(GLubyte)blue;
00313 @end
00314
00318 @interface CCTintBy : CCIntervalAction <NSCopying>
00319 {
00320 GLshort deltaR, deltaG, deltaB;
00321 GLshort fromR, fromG, fromB;
00322 }
00324 +(id) actionWithDuration:(ccTime)duration red:(GLshort)deltaRed green:(GLshort)deltaGreen blue:(GLshort)deltaBlue;
00326 -(id) initWithDuration:(ccTime)duration red:(GLshort)deltaRed green:(GLshort)deltaGreen blue:(GLshort)deltaBlue;
00327 @end
00328
00331 @interface CCDelayTime : CCIntervalAction <NSCopying>
00332 {
00333 }
00334 @end
00335
00343 @interface CCReverseTime : CCIntervalAction <NSCopying>
00344 {
00345 CCFiniteTimeAction * other;
00346 }
00348 +(id) actionWithAction: (CCFiniteTimeAction*) action;
00350 -(id) initWithAction: (CCFiniteTimeAction*) action;
00351 @end
00352
00353
00354 @class CCAnimation;
00355 @class CCTexture2D;
00357 @interface CCAnimate : CCIntervalAction <NSCopying>
00358 {
00359 CCAnimation *animation_;
00360 id origFrame;
00361 BOOL restoreOriginalFrame;
00362 }
00364 @property (readwrite,nonatomic,retain) CCAnimation * animation;
00365
00367 +(id) actionWithAnimation:(CCAnimation*) a;
00369 -(id) initWithAnimation:(CCAnimation*) a;
00371 +(id) actionWithAnimation:(CCAnimation*) a restoreOriginalFrame:(BOOL)b;
00373 -(id) initWithAnimation:(CCAnimation*) a restoreOriginalFrame:(BOOL)b;
00378 +(id) actionWithDuration:(ccTime)duration animation:(CCAnimation*)animation restoreOriginalFrame:(BOOL)b;
00383 -(id) initWithDuration:(ccTime)duration animation:(CCAnimation*)animation restoreOriginalFrame:(BOOL)b;
00384 @end
00385
00386