私の iOS ゲームでは、画面がタッチされてヒーローがジャンプするまで、ヒーローが走り続けることを願っています。だから私は書く:
.h ファイルで:
@interface Hero : CCSprite {
CCSprite *_hero;
id _keepRunning;
}
@property(nonatomic,retain) id keepRunning;
.m ファイル内:
@synthesize keepRunning = _keepRunning;
-(id) init {
_keepRunning = [CCRepeatForever actionWithAction:[CCAnimate actionWithSpriteSequence:@"heroRun%04d.png"
numFrames:30
delay:0.02f
restoreOriginalFrame:NO]];
}
次に、ゲームが開始したら、run() メソッドを呼び出します。
-(void) run {
[_hero stopAllActions];
[_hero runAction:_keepRunning];
_heroState = RUNNING;
}
その後CCAnimate actionWithSpriteSequence: numFrames: delay: restoreOriginalFrame:
、cocos2d v2.0 で非推奨になっていることがわかりました。私の質問は、cocos2d v2.0 で、このアニメーションをどのように実装できますか? つまり、私のヒーローを動かし続けますか?ありがとうございました!
編集:
私はこれを試しました:
-(CCAnimation*) getMyAnimationWithFramesName:(NSString*)nameFormat numFrames:(int)numFrames delay:(float)delay {
NSMutableArray *frames = [[NSMutableArray alloc] init];
for (int i = 1; i <= numFrames; i++) {
NSString *frameName = [NSString stringWithFormat:nameFormat,i];
[frames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName]];
}
CCAnimation *ani = [CCAnimation animationWithSpriteFrames:frames delay:delay];
return ani;
}
次に、init()で:
_keepRunning = [self getMyAnimationWithFramesName:@"heroRun%04d.png" numFrames:30 delay:0.02f];
そして実行中():
[_hero runAction:[CCAnimate actionWithAnimation:_keepRunning]];
しかし、それでもうまくいきません。私は何をすべきか?