完成此操作的最简单方法是覆盖一个矩形或每个点击的对象在一个平面上,并且动态地改变覆盖面的可见性:
void ToogleVisibility(GameObject plane, bool bEnable)
{
plane.setActive(bEnable);
}
编辑:我认为这是已经非常清楚,但对于OP来说似乎并非如此。请参阅下面的完整代码。
public class Highlight : MonoBehaviour {
GameObject room1=null;
GameObject room2=null;
bool bRoom1Active = false;
bool bRoom2Active =false;
// Use this for initialization
void Start() {
room1 = GameObject.Find ("Room1");
room2 = GameObject.Find ("Room2");
room1.SetActive (false);
room2.SetActive (false);
}
// Update is called once per frame
void Update() {
}
void OnGUI() //Substitute this with your OnTouch() logic
{
if (GUI.Button (new Rect (10, 10, 100, 30), "Toggle Room1")) {
bRoom1Active = !bRoom1Active;
room1.SetActive(bRoom1Active);
}
if (GUI.Button (new Rect (10, 60, 100, 30), "Toggle Room2")) {
bRoom2Active = !bRoom2Active;
room2.SetActive(bRoom2Active);
}
}
}
谢谢@David,为您的答案。之后,我应该添加一个脚本,以便在这些飞机或反面上运行?请详细说明你的这些建议,因为我没有完全按照你的。 – user3244633
@ user3244633,请参阅更新是否有意义。 – David