0

2 つの png を使用してアニメーション化されたスプライトがあります。アニメーションは正常に動作します。ゲームが終了したときに実行される別のメソッドがあります。

 //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 であり、テクスチャが変化しているため、このメソッドが機能していることはわかっています。しかし、アニメーションが停止しないのはなぜですか? タグとアクションを宣言して削除しようとしましたが、成功しませんでした。

私よりも賢い人がたくさんいることは知っています..助けてもらえますか?

4

1 に答える 1

2

現在行っていることは、現在のノードに追加されたすべてのアニメーションを停止することです。

self

自分自身にアクションを追加した場合、このコマンドはそれらすべてを停止するのにまったく問題ありません。

stopAllActions代わりに、アクションを追加したオブジェクトでメソッドを呼び出す必要があります。

[greyMousePomPom stopAllActions];

HTH

于 2011-09-12T23:25:16.693 に答える