私はタイルシステムを使用するゲームを作成しています。各タイルは、その位置のVector2を持つオブジェクトです。私はリストにすべてのタイルを持っています。xとyの位置の値が与えられたxとyと一致するリスト内のオブジェクトのインデックスを見つける方法
タイルのグリッドにツリーを配置する必要があるVector2の束を生成する別のビットのコードがあります。すべてのツリーの位置はList内のVector2にあります
私の質問は、ツリー座標のリストの座標と完全に一致するタイルのインデックスを見つける方法です。一度見つけたら、リスト内のオブジェクトをそのtreePresentブール値をtrueにするように指示することができます。
タイルgridPosition.XとgridPosition.Y: 0(1,9)1(1,10)2(2,1)、3(2,2)
木treePosition.X and treePosition.Y: 0(1,9)1(2,2)
私は次に言うことができる: tileList [0] .treePresent = true; tileList [3] .treePresent = true;
タイルオブジェクトをタイルオブジェクトの特定の座標に関連付けると、タイルオブジェクトを呼び出すことができるようになります。 すべてのタイル位置の2darrayを作成しますか?もしそうなら、タイルはそれがどのようにそれを知っていますか? 私はC#配列自体がかなり新しいので、主にそれを呼び出すことについてのあなたの最後の数行を理解していません。私はリストの使用にかなり慣れてきました。 –
私はC#の構文を自分では分かっていないかもしれませんが、誰かが助けてくれるかもしれません。しかし、配列の背後にある基本的な考え方は、それが特定の変数またはオブジェクトのセットであるということです。したがって、10個の整数要素を持つ1次元配列を作成した場合、intArray [0]、intArray [1]、intArray [2]などのようにアクセスできます(intArrayは単に配列に対して定義した名前です) 。 2つのインデックス(intArray [0] [0]、intArray [1] [0]、intArray [0] [1]など)を除いて、2D配列も同様です。 – Denzil
1000タイルの世界がほしいと言っています。タイルクラスを最初に作成します。第二に、タイルの配列を作ることができます。また、各タイルに一意のIDがある場合は、そのIDを代わりに使用することもできます。 ID 0は草、ID 1は水、ID 2は樹木などです。次に、上で説明したように2D整数配列を作成できます(配列宣言の詳細はわかりませんが自分で調べなければなりませんC#構文)。次に、tiles [0] [0] = 1と言うことができ、この例では水であるID 1mに位置(x = 0、y = 0)にタイルを設定します。 – Denzil