2017-09-01 10 views
0

私はチックタックのつま先のゲームを持っていますが、ダイナミックにしたいので、いくつかのコライダーのチェック機能や方法が必要ですが、インターネットでは、私はここで尋ねています。ユニティ位置にコライダー(gameobject)があるかどうかを確認する方法

私のチックタックのつま先をダイナミックにするためのこのコードはありますが、まだ完成していません。

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI; 

public class Test : MonoBehaviour { 

public Transform Button; 
public int rows; 
public int columns; 

void Start() { 

    int i = 0; 
    int x = 0; 
    int y = 0; 

    for (i = 0; i < columns; i++) { 

     Transform newButton = Instantiate<Transform> (Button); 
     newButton.SetParent(GameObject.Find ("ButtonsContainer").transform); 
     newButton.localScale = Vector3.one; 
     newButton.localPosition = new Vector3(x,y,0); 


     } 
    } 
} 
+0

あなたが達成しようとしていることを詳しく教えてください。 [onCollisionEnter](https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html)は、衝突を検出するために使用できます。 – ryeMoss

+0

私はループを作ろうとしています。ゲームの開始時に、ユーザーから与えられる行と列の数が必要になります。その位置にコライダーが存在するかどうかをチェックします。例えば ​​。私は2行を与える、それは1 * 150の位置をチェックし、2番目の位置にコライダーがない場合は2 * 150の位置にする –

答えて

0

あなたはコライダーが特定の位置にある場合、1はあなたが位置に移動し、その後、衝突がOnCollisionEnterを使用して、そのオブジェクトにチェックしない別々のコライダーのオブジェクトを持っているだろうかを決定多くの方法があります。

このように目標を達成することができますが、コライダーがどこにあるかを判断するには、別の方法をとることをおすすめします。これがグリッドに基づいている場合は、2D arrayにすべてのゲームデータを保存しておけば、シーンをスキャンしなくてもオブジェクトの位置を常に知ることができます。これはより効率的であるばかりでなく、ルールチェックの処理もずっと簡単になります。

関連する問題