3

Cocos2Dアプリでアニメーションを再開するのに苦労しています。CCSpriteを子としてCCSpriteBatchNodeに追加すると、アニメーションでオフになります。

したがって、一時停止ボタンをクリックすると、次のようになります。

[[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];

今、彼らはドキュメントで使用すると言っています:

[[[CCDirector sharedDirector] actionManager] resumeTargets:];

ただし、スプライト自体、バッチノード、自己(CCLayer)、および現在のCCSceneを含むすべての可能なターゲットを試しましたが、何も機能しませんでした。

すべてのターゲットを再開するための何らかの方法はありますか?

編集:私はシングルトンでNSSetを宣言し、これを行います:

[Singleton sharedSingleton].pauseTargets = [[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];
[[[CCDirector sharedDirector] actionManager] pauseAllRunningActions];

次に再開するには、次のようにします。

[[[CCDirector sharedDirector] actionManager] resumeTargets:[Singleton sharedSingleton].pauseTargets];

しかし、私はクラッシュします:

2012-08-29 18:40:05.433 App[34872:707] -[__NSMallocBlock__ countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x1e075a40
2012-08-29 18:40:05.434 App[34872:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSMallocBlock__ countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x1e075a40'
4

1 に答える 1

4

一時停止したターゲットを保存します

NSSet *pausedTargets = [[NSSet alloc] initWithSet:[[[CCDirector sharedDirector] actionManager] pauseAllRunningActions]];

一時停止したターゲットを再開します

[[[CCDirector sharedDirector] actionManager] resumeTargets:pausedTargets];

また、一時停止を解除した後は、リリースすることを忘れないでくださいpausedTargets

于 2012-08-29T23:10:21.540 に答える