当玩家进入对撞机时,如何启用/禁用多个游戏对象的网格渲染器?这是我的代码,但它不起作用。
using UnityEngine;
using System.Collections;
public class SueloManager : MonoBehaviour {
private GameObject suelo;
void Start ()
{
suelo = GameObject.FindGameObjectsWithTag ("SueloWireframe");
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player") {
suelo.GetComponent<Renderer> ().enabled = false;
Debug.Log ("Oculta suelo");
}
}
void OnTriggerExit(Collider other)
{
if (other.gameObject.tag == "Player") {
suelo.GetComponent<Renderer> ().enabled = true;
Debug.Log ("Aparece suelo");
}
}
}
答案 0 :(得分:0)
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../message/release/ -lmessage
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../message/debug/ -lmessage
else:unix: LIBS += -L$$OUT_PWD/../message/ -lmessage
INCLUDEPATH += $$PWD/../message
DEPENDPATH += $$PWD/../message
返回单个GameObject,FindGameObjectWithTag
返回GameObject数组。就像提到的 Kroltan 一样,您必须将FindGameObjectsWithTag
更改为数组,然后使用循环启用和禁用所有这些。将循环置于简单的可重用函数中应简化此操作。请查看以下解决方案中的suelo
函数。
EnableRenderer