画像のアニメーションを表示するこのコードがあります
-(void) blink:(ccTime) delta {
animateblink ++; //adds 1 every frame
if (animateblink <= 6 ) { //if we included frames to show for breaking and the current frame is less than the max number of frames to play
if (animateblink < 6) {
[sprite setTexture:[[CCSprite spriteWithFile:[NSString stringWithFormat:@"%@_blinkk00%i.png", baseImageName,animateblink]] texture]];
[self unschedule:_cmd];
[self schedule:@selector(openEyes:) interval:0.1f];
[self schedule:@selector(moveSprite:) interval:0.1f];
}
}
}
私はアニメーションのような6枚の画像を持っています
dragonimage_blinkk001,dragonimage_blinkk002,dragonimage_blinkk003,dragonimage_blinkk004,dragonimage_blinkk005,dragonimage_blinkk006 like that
私は2つの方法を入れました.1:アニメーション時間用 2:画像の動き用
コードは
-(void) openEyes:(ccTime) delta {
[sprite setTexture:[[CCSprite spriteWithFile:[NSString stringWithFormat:@"%@.png", baseImageName]] texture]];
[self unschedule:_cmd];
int blinkInterval = (arc4random() % 6) + 1; // range 3 to 8
[self schedule:@selector(blink:) interval:blinkInterval];
}
-(void)moveSprite:(ccTime)delta
{
movementCounter ++;
if (movementCounter == 1000) {
[self unschedule:_cmd];
}
else
{
spriteimagename.position = ccp(spriteimagename.position.x+10,spriteimagename.position.y);
}
}
しかし、最初の方法では、アニメーションの時間が正しくなく、アニメーションの遅延が多く、画像のアニメーションをランダムかつ高速に表示したいだけで、ドラゴンが飛んでいるアニメーションです。
私の方法はまったく機能していません。その画像の動きはありませんでした。
私の問題を理解していただければ幸いです。上記の2つの方法の問題を解決する方法。前もって感謝します。