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;但是我的物体也有光环,如何使物体和光环同时减小尺寸?是否可能减小光环的尺寸?不要问下面的问题。开始一个新问题!