2017-10-23 8 views
0

私はまだUnityの初心者ですので、このテーマの専門用語はすべてわかっていませんが、私と一緒に裸にしてください。新しいタイルをランダムにインスタンス化してそれらを破壊する方法

私はこの無限のランナーゲームに取り組んでいます。 私は異なる色のタイルを5つ持っていて、同じY軸にスポーンするが、同じタイルを連続的にスポーンしないようにしたい。私はそれらをするときのカメラのうちにも破壊したい[Bluetile] [Greentile] [Purpletile] [Bluetile] Magentatile] [Bluetile]

同様

私はC#を知っています。私はあなたの期待された支援を楽しみにしています! :)

+0

は私達にあなたのコードを表示すると、あなたが動けなくなる場所を指定検知する方法monobehaviourクラスがあります。 –

答えて

0

タイルについては、すべてのタイルをリストに挿入する必要があります。新しいタイルを取得する必要がある場合は、リストから最後のオブジェクトを除いたリストからタイルをランダムに選択します(ただし、 2回目にもう一度ピック)し、そのタイルをリストの最後に押します。

// populating the tiles 
List<Tile> tiles = new List<Tile>(); 
// todo: populate the tiles list 


// getting a tile and pushing it to the end 
int randomIndex = Random.Range(0, tiles.Count - 1); 
Tile tile = tiles[randomIndex]; 
tiles.RemoveAt(randomIndex); 
tiles.Add(tile); 

し、画面を離れるとタイルを破壊するとして、オブジェクトがカメラから離れるとき

void OnBecameInvisible() { 
    Destroy(gameobject); 
} 
+0

後で返信しますが、ありがとうございます!!!! :)種類の要点を取得し、コードの一部を編集! –

関連する問題