0

Unity3d 4.1.2 と C# Mono を使用。

このスクリプトを含むオブジェクト (プレーヤー) があります。

string[] colors = new string[] {"Red", "Blue", "Green", "Yellow", "Black", "Purple", "Pink", "Orange"};
public string joeColor;

// Use this for initialization
void Start () 
{
    SetColorState();
}

// Update is called once per frame
void Update () 
{

}

public void SetColorState()
{
    joeColor = colors[Random.Range(0, 7)];
}

void OnCollisionEnter(Collision obj)
{
    PlatformMove platform = new PlatformMove();
    platform = obj;
    if(platform.platformColor.ToString() == joeColor.ToString())
    {
        Debug.Log("COLOR MATchED!!!  Joe = " + joeColor.ToString() + " Platform COlor = " + platform.platformColor.ToString());
    }
}

私がやりたいのは、プラットフォーム オブジェクトの衝突を検出することです。次に、そのオブジェクト (プラットフォームの色) からメソッドを取得し、それが私のプレイヤー オブジェクトと同じであれば = true です。

上記のスクリプトが機能しないことがわかるように、何が起こるかをいじっているだけです。

プラットフォーム オブジェクトはゲーム内でランダムにインスタンス化され、色もランダムです。そのため、その特定のプラットフォームを検出して、その色の状態を取得する必要があります。私は何をする必要がありますか?

4

1 に答える 1