cocos2dで新規プロジェクトを作成し、レイヤーとスプライトを作成します。スプライトにアニメーションを適用しようとしていますが、それに関するサンプルがいくつか見つかりました。CCAnimation
しかし、との違いがわからないCCAnimate
ので、まだスプライトにアニメーションを適用していません。
これら2つの違いは何ですか?また、それらの本当の意味は何ですか?それらを使用する方法?
誰かがそれについて私に説明できますか? 私を助けてください。
cocos2dで新規プロジェクトを作成し、レイヤーとスプライトを作成します。スプライトにアニメーションを適用しようとしていますが、それに関するサンプルがいくつか見つかりました。CCAnimation
しかし、との違いがわからないCCAnimate
ので、まだスプライトにアニメーションを適用していません。
これら2つの違いは何ですか?また、それらの本当の意味は何ですか?それらを使用する方法?
誰かがそれについて私に説明できますか? 私を助けてください。
cocos2d-iphone Programming Guide の「Working with Sprites, and Sprite batch nodes」のコードを次に示します。
......
NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i < 15; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"grossini_dance_%02d.png",i]];
[animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"dance" delay:0.2f frames:animFrames];
[sprite runAction:[CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO]]];
ご覧のとおり、スプライトで CCSpriteFrame ベースのアニメーションを実行するには、CCAnimate
との両方を使用する必要があります。CCAnimation
の説明によるとCCAnimation
:
CCAnimation
オブジェクトにはオブジェクトが含まれておりCCSpriteFrame
、フレーム間に遅延が生じる可能性があります。アクションCCAnimation
を使用して、オブジェクトをアニメーション化できます。CCAnimate
例:
[sprite runAction:[CCAnimate actionWithAnimation:animation]];
一般的に言えば、CCAnimation
フレームコンテナのラッパーです。CCAnimate
は、スプライトが実行する必要があるアクションです。実際には、CCAction
移動、ジャンプ、回転など、スプライトが「実行」できるアクションを表す のサブクラスです。他のサブクラスを使用して、いくつかの種類の操作を実行できます。自分でフレームを作成せずに、スプライトでアニメーションを作成できます。、 などCCFadeIn
で試してみてください。CCRotateBy