メソッドを呼び出すことができる一般的なゲーム オブジェクトを返す関数を作成したいと考えています。これはうまくいきません。
ゲームの世界にさまざまなオブジェクトがあります。特定の場所で見つかったオブジェクトを返す、呼び出すことができる 1 つの関数が必要です。次に、見つかったオブジェクトの種類を確認します。各オブジェクトには、オブジェクトのタイプを返す GetObjectType メソッドがあります。
私はあなたが私の方法を送ることができるどんな助けにも感謝します. ご覧いただきありがとうございます。
GameObject spotObjectLocation1;
spotObjectLocation1 = GetObjectAtLocation(player.transform.position
+ checkDirection);
// THIS IS WHAT I WANT TO DO THAT DOESN'T WORK
if (spotObjectLocation1.GetObjectType() == "box"){ }
GameObject GetObjectAtLocation(Vector3 location)
{
GameObject[] objects = GameObject.FindGameObjectsWithTag("boxes");
for (int i = 0; i < objects.Length; i++)
{
if (objects[i].transform.position.x == location.x
&& objects[i].transform.position.z == location.z)
{
return objects[i];
}
}
GameObject[] objects = GameObject.FindGameObjectsWithTag("blocks");
for (int i = 0; i < objects.Length; i++)
{
if (objects[i].transform.position.x == location.x
&& objects[i].transform.position.z == location.z)
{
return objects[i];
}
}
}
public class ObjectBox : MonoBehaviour {
public string GetObjectType()
{
return "box";
}
}
public class ObjectBlock : MonoBehaviour {
public string GetObjectType()
{
return "block";
}
}