C# 当两个对象以相同颜色碰撞时,如何检测?

C# 当两个对象以相同颜色碰撞时,如何检测?,c#,unity3d,colors,collision,C#,Unity3d,Colors,Collision,我对统一性有一个问题: 我有一个对象与两个对象发生碰撞,第一个是蓝色,第二个是红色 我想知道当两个物体的颜色相同时,如何检测并进行确定动作两个物体之间的碰撞很清楚,但如何检测你的颜色对我来说太难了 你怎么能做到 结肠炎: public class Colision : MonoBehaviour { //public GameObject HaloPrefab; // empty with halo applied to it... public Text points;

我对统一性有一个问题:

我有一个对象与两个对象发生碰撞,第一个是蓝色,第二个是红色

我想知道当两个物体的颜色相同时,如何检测并进行确定动作两个物体之间的碰撞很清楚,但如何检测你的颜色对我来说太难了

你怎么能做到

结肠炎:

public class Colision : MonoBehaviour {

    //public GameObject HaloPrefab; // empty with halo applied to it...

    public Text points;


    void OnCollisionEnter(Collision col){


        if ( col.gameObject.name == "Cube") {

            col.gameObject.SetActive(false); // Lo que hago es que si colisiona desaparezca el objeto, pero necesito que haga eso si ambos son del mismo color. 
        }




        if ( col.gameObject.name == "Cube(Clone)") {

            col.gameObject.SetActive(false);


        }     
}
我的对象可以更改颜色,代码如下:并且可以工作

public class ChangeColor : MonoBehaviour {

    public Material[] materials;
    public Renderer rend;

    private int index = 1;

    // Use this for initialization
    void Start () {

        rend = GetComponent<Renderer> ();
        rend.enabled = true;

    }

    public void Update() {
        if (materials.Length == 0) {
            return;
        }
        if (Input.GetMouseButtonDown (0)) {
            index += 1;

            if (index == materials.Length + 1) {
                index = 1; 
            }
            print (index);

            rend.sharedMaterial = materials [index - 1];                        
        }
    }
}
公共类ChangeColor:MonoBehavior{
公共材料[]材料;
公开渲染;
私有int指数=1;
//用于初始化
无效开始(){
rend=GetComponent();
rend.enabled=true;
}
公共无效更新(){
如果(materials.Length==0){
返回;
}
if(Input.GetMouseButtonDown(0)){
指数+=1;
如果(索引==材料.长度+1){
指数=1;
}
打印(索引);
rend.sharedMaterial=材料[索引-1];
}
}
}
类似这样的内容:

void OnCollisionEnter(Collision col)
{
    var me = gameObject.GetComponent<Renderer>();
    var other = col.gameObject.GetComponent<Renderer>();
    if (me != null && other != null)
    {
        if (me.sharedMaterial.color == other.sharedMaterial.color)
        {
            // congratulation you are colliding with same color.
        }
    }
}
void OnCollisionEnter(冲突列)
{
var me=gameObject.GetComponent();
var other=col.gameObject.GetComponent();
如果(me!=null&&other!=null)
{
if(me.sharedMaterial.color==其他.sharedMaterial.color)
{
//祝贺你与同一颜色相撞。
}
}
}
类似这样的内容:

void OnCollisionEnter(Collision col)
{
    var me = gameObject.GetComponent<Renderer>();
    var other = col.gameObject.GetComponent<Renderer>();
    if (me != null && other != null)
    {
        if (me.sharedMaterial.color == other.sharedMaterial.color)
        {
            // congratulation you are colliding with same color.
        }
    }
}
void OnCollisionEnter(冲突列)
{
var me=gameObject.GetComponent();
var other=col.gameObject.GetComponent();
如果(me!=null&&other!=null)
{
if(me.sharedMaterial.color==其他.sharedMaterial.color)
{
//祝贺你与同一颜色相撞。
}
}
}

还有一件事,如果我的对象颜色不同,我会应用这个(对象大小):gameObject.transform.localScale/=2;但是我的物体也有光环,如何使物体和光环同时减小尺寸?是否可能减小光环的尺寸?不要问下面的问题。开始一个新问题!还有一件事,如果我的对象是不同的颜色,我会应用这个(对象的大小):gameObject.transform.localScale/=2;但是我的物体也有光环,如何使物体和光环同时减小尺寸?是否可能减小光环的尺寸?不要问下面的问题。开始一个新问题!