私はCCSprite変数であるキャラクターのクラスを持っています。ボタンに触れたりジャンプしたりした後、キャラクターがポイントに移動し、歩行アニメーションをアニメートします。すべて正常に動作しますが、アニメーションの後、CCSprite には不良フレーム (歩行フレームの 1 つ) があります。更新関数の最後にこのコードを書きましたが、その後はフリーズしたようで、キャラクターはジャンプしたり、それ以上歩くことができず、実行中のアクションの数は常に 1 です。
if(this.sprite.numberOfRunningActions() == 0){
if(this.state != CharacterState.IDLE){
this.changeState(CharacterState.IDLE); // without this row it works still fine
}
}
changeState 関数:
public void changeState(CharacterState state){
sprite.stopAllActions();
this.state = state;
switch(state){
case IDLE:{ this.sprite = CCSprite.sprite(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("Player.png")); break;}
case WALK_LEFT:{ this.sprite.runAction(wAction); break; }
.
.
.