完成此操作的最簡單方法是覆蓋一個矩形或每個點擊的對象在一個平面上,並且動態地改變覆蓋面的可見性:
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