【发布时间】:2017-03-27 06:53:01
【问题描述】:
我有一个对象在与另一个对象碰撞时会改变颜色并减小其大小:gameObject.transform.localScale /= 2; 但它有一个白色的halo。
我希望halo 与我的对象的颜色相匹配。所以当对象是绿色时,halo 也将是绿色的。如果我的对象是蓝色的,那么 halo 也会是蓝色的。另外,我希望当我的对象检测到与其他对象的碰撞时,halo 也会减少,我不知道该怎么做。
当我按下屏幕时,代码会改变颜色(蓝色、红色或绿色):
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];
}
}
}
我知道使用halo,但以编程方式我不知道。
【问题讨论】:
-
看你最后两个问题和这个问题,我建议你学习Unity的basic part和programming。您可以使用
if语句执行此操作。你必须先了解基础。我之所以这么说,是因为您问题中的代码甚至没有接近您期望做的事情。 -
我知道,程序员,这只会改变颜色!我需要光环!
-
以编程方式
halo我不知道如何使用它。 -
你能帮我解决这个问题吗?
-
“所以当物体是绿色的时候,光环也会是绿色的。如果我的物体是蓝色的,那么光环也会是蓝色的。另外,我希望当我的对象检测到与其他对象的碰撞时,晕也减少”。请告诉我你的哪部分有问题?改变颜色?比较颜色?检测碰撞?您的问题甚至都没有。请阅读我的第一条评论。 “光环也减少”我认为你应该在你的问题中更多地解释这一点。编码愉快!