私は基本的に水平に移動する静止ムービークリップが79個あり、さらにムービークリップが7個あるゲームを作成しました。ますます動くムービークリップを追加すると、ラグが上昇し始めます。ゲームループは基本的にはムービークリップのx座標をインクリメントするので、ゲームループに問題はないとは思いません。ムービークリップがたくさんあります。
通常は、一定数のムービークリップを超えるとフラッシュが遅れますか? 正常な場合は、ゲームのパフォーマンスを向上させるにはどうすればよいですか?
とにかく、これはゲームループからの更新方法である:あなただけのx軸上の表示オブジェクトを移動する場合
public function update():void
{
//cek kondisi untuk melakukan spawn char
spawnChar();
//cek kondisi untuk melakukan spawn stand(stand diisi oleh pedangang di zona)
spawnStand();
//cek tiap char untuk tiap kondisi sekaligus assign depth yg sesuai;
for (var i:int=0; i<mArrForeObjects.length; i++)
{
mArrForeObjects[i].update();
if (mArrForeObjects[i] is Char && mArrForeObjects[i].x > mWorld.MAP_WIDTH * Tile.TILE_WIDTH || mArrForeObjects[i].x < - mArrForeObjects[i].width || mArrForeObjects[i].y > mWorld.MAP_HEIGHT * Tile.TILE_HEIGHT + mArrForeObjects[i].height || mArrForeObjects[i].y < 0)
{
//jika di luar peta, hapus char ini
delChar(i);
}
}
}
THX
は、一度に画面上のすべての96本のムービークリップはありますか?他の7つは同時に動いていますか? spawnChar、spawnStand、およびdelCarで何が起こっていますか? – Corey
はい、すぐに表示されます。 spawnChar、spawnStandは基本的に特定の条件に基づいたムービークリップを追加するだけです(それはifとcoupleのaddchildです)。そしてdelCharはちょうど映画のムービークリップです。私は問題の原因がその機能にあるとは思わない。 – bysreg