2011-09-12 21 views
0

私は2つのpngを使用してアニメーションスプライトを持っています。アニメーションは正常に動作します。ゲームが終わったときに実行される別の方法があります。アニメーションスプライトはアニメーションを停止しません - cocos2d

//Grey mouse with Pompom 
greyMousePomPom = [CCSprite spriteWithFile:@"pink_mice_pom_anime_01.png"]; 
greyMousePomPom.tag=132; 
[self addChild:greyMousePomPom z:6]; 
greyMousePomPom.position = CGPointMake(550, 70); 

//Grey Pom Pom Mouse animation 
CCAnimation *greyMousePomPomAnimate = [CCAnimation animation]; 
[greyMousePomPomAnimate addFrameWithFilename:@"gray_mice_pom_anime_01.png"]; 
[greyMousePomPomAnimate addFrameWithFilename:@"gray_mice_pom_anime_02.png"]; 
id greyMousePopPomAnimationAction = [CCAnimate actionWithDuration:1.3f animation:greyMousePomPomAnimate restoreOriginalFrame:NO]; 

repeatAnimationPomPom2 = [CCRepeatForever actionWithAction:greyMousePopPomAnimationAction]; 
[greyMousePomPom runAction:repeatAnimationPomPom2]; 

アニメーション化されたスプライトテクスチャを変更してアニメーションを停止する方法を実行すると、アニメーションは新しいテクスチャの後ろで続きます。

-(void) changePomPomMiceToSadFaceForFreeFall 

{ のNSLog( "マウスが悲しい作ります" @)。

[self stopAllActions]; 


[greyMousePomPom setTexture:[[CCTextureCache sharedTextureCache] addImage:@"gray_mice_pom_anime_03.png"]]; 

}

私はそれがNSLoggingで、テクスチャが変化しているので、このメソッドが動作している知っています。しかし、なぜアニメーションが止まらないのですか?私はタグでそれを取り除こうとしましたが、その行動は宣言しても成功しませんでした。

私よりも賢い人がたくさんいます。お手伝いできますか?

self 

あなたが自分にどんなアクションを追加した場合、このコマンドは、それらのすべてを停止することは完全に罰金のようになります。あなたが今やっていること

答えて

2

は、現在のノードに追加されたすべてのアニメーションを停止しています。

代わりにあなたが何をする必要があるか、あなたがアクションに追加したオブジェクトにstopAllActionsメソッドを呼び出す必要があり、次のとおりです。

[greyMousePomPom stopAllActions]; 

HTH

答えHTHため
+0

感謝。悲しいことに、私は運もなくそれを試しました。私は元の方法(スプライトを見えなくするなど)の中ですべてを行うことができますが、別の方法ではivarsを使用して私は運がありません。すごい – Doorak

関連する問題