Cocoa2Ds を使用して iOS 用のゲームを作成しています。おそらく簡単だと思いますが、CCFile のスプライト画像をプログラムで変更する方法はありますか?
ヒーロー スプライト オブジェクトを作成し、SpriteBuilder を使用してメイン シーンにドラッグしました。
最終的には、ヒーロー スプライト オブジェクトをアニメーション化 (移動) する別の画像に変更したいと考えています。
Cocoa2Ds を使用して iOS 用のゲームを作成しています。おそらく簡単だと思いますが、CCFile のスプライト画像をプログラムで変更する方法はありますか?
ヒーロー スプライト オブジェクトを作成し、SpriteBuilder を使用してメイン シーンにドラッグしました。
最終的には、ヒーロー スプライト オブジェクトをアニメーション化 (移動) する別の画像に変更したいと考えています。
「CCFile」イメージの変更について質問されましたが、「CCSprite」イメージを意味していたと思います。その場合、スプライト イメージを変更するには、最初にスプライト フレームを作成し、それをスプライトに割り当てます。
CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];
これが機能するには、参照している画像が、スプライト シートなどを介してメモリに読み込まれている必要があります。
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];
あなたはアニメーションについて言及しました。スプライトをアニメーション化しようとしていて、すべての画像がメモリにロードされていて、連番が追加されていることを除いて同じ名前が付いている場合、次のようにスプライトをこれらの画像間で移動させてアニメーション化することができます。
NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];
画像の名前は、「ImageName 0001.png」、「ImageName 0002.png」などのようになります。
CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];
これにより、指定された遅延に基づいて画像が循環します。
これが役立つことを願っています。