2014-01-21 4 views
0

До сих пор у меня есть этот скрипт:Как показать gui.button после нажатия на определенный объект или отключить gui.button, пока после нажатия?

Using UnityEngine; 
using System.Collections; 

public class text : MonoBehaviour { 

public GameObject mainCam; 

public bool showButton = false; 



void OnGUI() { 



// Make a background box 
GUI.Box(new Rect(10,10,230,150), "Menu"); 


if (GameObject.Find("block1") && Input.GetMouseButtonDown(0)) { 

showButton = true; 

if(GUI.Button (new Rect (30,40,200,70), "Back to the blocks ")) { 

print ("You clicked the button! The menu now appears"); 

mainCam.transform.position= new Vector3(-.13f, 0.87f, -8); 

Camera.main.orthographicSize = 0.4f; 



    } 

} 
} 
} 

Я хочу, чтобы кнопка была отключена или неактивной, когда представление на нескольких блоках, а затем, когда я нажимаю на одном кадре, и это возвращает меня к увеличенным в связи с один из блоков, я хочу, чтобы появился gui.button. Затем, если я вернусь к основному виду со всеми блоками, я хочу, чтобы кнопка снова была отключена. Я не знаю, как это сделать.

ответ

0

Вы не использовали showButton логическое значения в любом из указанных ниже условий отредактированного сценария может работать для вас

public class text : MonoBehaviour { 

public GameObject mainCam; 

public bool showButton = false; 



void OnGUI() { 



// Make a background box 
GUI.Box(new Rect(10,10,230,150), "Menu"); 


if (GameObject.Find("block1") && Input.GetMouseButtonDown(0)) { 

showButton = true; 

if(GUI.Button (new Rect (30,40,200,70), "Back to the blocks ") && showButton) {//check showButton 
showButton = false;// when you want go back to blocks then make it false 
print ("You clicked the button! The menu now appears"); 

mainCam.transform.position= new Vector3(-.13f, 0.87f, -8); 

Camera.main.orthographicSize = 0.4f; 



    } 

} 
} 
} 
+0

По некоторым причинам, он просто отключает все. Даже если я проверю его как активный или неактивный, флажок showButton не работает:/Это странно. –

+0

На самом деле, интересная вещь, чтобы отметить заключается в следующем: mainCam всегда устанавливается в конкретной координатной, так что я сделал: аннулируются Update() { \t \t \t если (mainCam.transform.position == новый Vector3 (0, 1.1f, -8)) { \t \t \t \t GUI.enabled = false; \t \t \t} \t \t} и это мнение будет только когда основная камера расположена в определенном месте, которое логически должно работать, но GUI для какой-то причине не отключается. –

 Смежные вопросы

  • Нет связанных вопросов^_^