だから私は現在、グラフなどのようなものを画面に描くアプリに取り組んでいます。それとその機能をテストしているときに、この問題に遭遇しました。
押すと設定シーンに移動するボタンがあります。私はこのようにシーンを初期化します
+(id) scenew
{
CCScene *scene = [CCScene node];
Settings *layer = [Settings node];
[scene addChild: layer];
return scene;
}
そのシーンには、完了ボタンと新機能ボタンの 2 つのボタンがあります。
done = [CCMenuItemImage itemFromNormalImage:@"done.png" selectedImage:@"done.png" target:self selector:@selector(done:)];
新機能ボタンを押すとすぐに進みますが、完了ボタンには 2 ~ 3 秒の遅延があります。アプリにはいくつかのコンソール メッセージが表示されており、それを押すと、アプリの起動時と同じようにグラフ全体が再計算されるようです。すべてのボタンは、replaceScene である同じ CCDirector 関数を呼び出します。
-(void) whatNew: (id)sender
{
[[CCDirector sharedDirector] replaceScene: [New scene]];
}
-(void) done: (id)sender
{
[[CCDirector sharedDirector] replaceScene: [Main scene]];
}
これを少し最適化する方法はありますか...つまり...replaceSceneを使用する効率的な方法、またはグラフの再計算を強制しない他の何かですか? そのボタンが押されるたびに、実際には4500行以上のグラフクラス実装の上部にジャンプするためですOo