0

続行する前に、CCSprite が実際に画面にレンダリングされるまで待つ必要はありますか? または、スプライトが画面へのレンダリングを完了したことを確認するためのコールバックを持つメソッドでしょうか?

このタスクの実行時にすべてのアクションが中断されるため、アクション シーケンスを使用できません。


私はあまり明確に説明していません。もう少し頑張ります。レイヤーに画像を追加してから、メソッドを呼び出します。ただし、画像が読み込まれて画面にレンダリングされる前に、メソッドは既に呼び出されて終了しています。

CCSprite* aSprite = [CCSprite spriteWithFile:@"anImage.png"];  
[aLayer addChild:aSprite z:1];

//need application to hold here till image is rendered;

[self aMethod];
4

1 に答える 1

0

試す :

-(void) draw {
    [super draw];
    [self doWhateverButDoItQuick];
}

これは、対象のスプライトの特定の描画の後に、そのクラスのインスタンスごとに呼び出されます。そこで何をしても、時間がかかりすぎると、最終的に FPS が低下する傾向があります。現在 60 FPS で実行していて、完全なサイクルに 12 ミリ秒かかるとすると、FPS に影響を与えずにそのタスクを完了するのに約 4 ミリ秒かかります。オーバーボードすると、FPS は即座に 30 まで低下します。

于 2013-04-02T19:56:16.557 に答える