2011-01-25 8 views
0

ここで簡単に質問します。私は自分のゲームで背景のイメージを持っています。私がスプライトを生成するたびに、私は[self addChild:@ ""];を使います。ステートメント。 [backgroundImage addChild:@ ""];を呼び出す方が効率的でしょうか。代わりに?私は両方の方法をテストしていますが、どちらもうまくいきますが、どちらが効率的か、あるいはそれが違いを生み出すかどうかはわかりません。あなたのオブジェクトがCCLayerある場合Cocos2Dで効率的にスプライトを生成する

おかげで、

テート

答えて

1

は、[自己にaddChild:IMG]を呼び出して、イメージがCCLayerに追加されます。

あなたの背景イメージはCCSpriteだと思います。 [background addChild:img]は、スプライトをバックグラウンドに追加します。あなたが背景を移動するような背景を調整すると、背景(バックグラウンドの子)に付随するすべてのスプライトは、背景画像と共に移動します。

あなたは[自己のremoveChild:背景]を呼ばれると、バックグラウンドに接続されているすべての子が同様に除去される。..

それがゲームの要件が何であるかに依存します。.. =)

+0

感謝答えのために!したがって、パフォーマンスや効率には影響しません。 – tallen11

+0

はパフォーマンスに影響しないはずです。スプライトの削除/呼び出し時には注意が必要です。バックグラウンドスプライトではなく、レイヤーにアタッチする方がよいでしょう。 – xuanweng

+0

また、画面に表示されないスプライトはCPUをほとんど使用しないため、スプライトなどを非表示にする必要はありません。しかし、あなたが必要としないupdate/tickメソッドを実行している場合は、 'pauseSchedulerAndActions'と' resumeSchedulerAndActions'でこれらを止める方が良いでしょう。 –

関連する問題