Android 向けのランゲームアプリの構築を開始しました。タイルと Adobe Air を使用してフラッシュで作成することにしました。ゲームは、プレーヤーが自動的に右側に走り、地面に沿ってジャンプまたはスライドしていくつかの障害物を回避する必要があるというものです。
配列の最初のレベルを常に取り、開始レベルとして使用する関数を作成しました。
private function createLevel()
{
map_level.levell();
level = map_level.level1;
for(var t = 0; t < level.length; t++)
{
for(var u = 0; u < level[t].length; u++)
{
if(level[t][u] != 0)
{
var new_tile:platform_tile = new platform_tile;
addChild(new_tile);
new_tile.gotoAndStop(level[t][u]);
new_tile.x = u * 32;
new_tile.y = t * 32;
tiles.push(new_tile);
}
}
}
total_tile_width += u;
}
次に、パスの配列でランダムなレベルを取る関数を作成します。
private function random_level ()
このレベルは、プレーヤーがトラックに沿って特定の長さに達したときに最初のトラックの最後に追加されます。その後、トラックはエンドレスに見え、カメラがプレーヤーを追跡するように作成されます。
private function update_level ()
{
random_level();
for(var t = 0; t < mid_lvl.length; t++)
{
for(u = 0; u < mid_lvl[t].length; u++)
{
if(mid_lvl[t][u] != 0)
{
var new_tile:platform_tile = new platform_tile;
level[t][u + total_tile_width] = mid_lvl[t][u];
addChild(new_tile);
new_tile.gotoAndStop(mid_lvl[t][u]);
new_tile.x = (u + total_tile_width) * 32;
new_tile.y = t * 32;
tiles.push(new_tile);
}
}
}
// Indstiller hvis spilleren skal have en stigende fart
if( movementspeed < 40)
{
movementspeed = movementspeed + 2;
}
else
movementspeed = movementspeed;
total_tile_width += u;
trace ("speed: " + movementspeed);
}
これはすべて正常に機能し、ゲーム機能もPCとして完璧ですが、すでにプレイされた古いレベルを削除する方法がわからないため、電話はすぐに過負荷になるようです。したがって、多くのレベルが存在します電話のメモリに。
removeChild("old tiles the left the stage again) のようなものが必要ですが、すべてのタイルだけでなく、その古いタイルのみを見つける方法がわかりませんでした。
誰でも私を助けることができますか?ところで、私は英語を書くのが得意ではないので、私の質問を理解していただければ幸いです。
モルテン