我有一类字符,其中是 CCSprite 变量。触摸按钮或跳跃后,角色正在移动到点并动画行走动画,一切正常,但动画 CCSprite 有坏帧(行走帧之一)。在我的更新函数结束时我写了这段代码,但是它就像冻结一样,角色不能跳跃或走路,运行动作的数量总是1:
if(this.sprite.numberOfRunningActions() == 0){
if(this.state != CharacterState.IDLE){
this.changeState(CharacterState.IDLE); // without this row it works still fine
}
}
改变状态功能:
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; }
.
.
.