2017-11-12 5 views
0

私は、プレイヤーが石を越えて色が変わるゲームのためのスクリプティングをしています。色が希望の色のままになると、ドアが開きます。 GameObjectの色とデフォルトの色を比較するにはどうすればよいですか?"if" in Unity5

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

public class MudarCor : MonoBehaviour { 

private Vector4[] cores = new Vector4[] {new Vector4(1, 0, 0, 1), new Vector4(0, 1, 0, 1), new Vector4(0, 0, 1, 1)}; 
public int cor; 
public GameObject pedra1; 
public GameObject pedra2; 
public GameObject pedra3; 
public Vector4[] teste= new Vector4[] { new Vector4(0, 1, 0, 1) }; 





private void Start() { 
    //define a cor inicial da pedra 
    gameObject.GetComponent<SpriteRenderer>().color = new Vector4(1, 0, 0, 1); 



} 
void OnTriggerEnter2D(Collider2D player) 
{ 
    if (cor == 2) 
     cor = 0; 
    else 
     cor++; 
     gameObject.GetComponent<SpriteRenderer>().color = cores[cor]; 



} 
private void Update() 
{ 


    if (teste.Equals(pedra1.GetComponent<SpriteRenderer>().color)) 
    { 
     //code 
    } 
} 

答えて

1

それを行うための基本的な方法は次のとおりです。

Color colorA = objA.GetComponent<SpriteRenderer>().color; 
Color colorB = objB.GetComponent<SpriteRenderer>().color; 

if (colorA.Equals(colorB)) 
    ....