Cum se activează butonul ui din scriptul rezolvat

utilizând UnityEngine;
utilizând UnityEngine.UI;
utilizând System.Collections;

clasa publica SelectTank. MonoBehaviour # 123;
public GameObject selectTank; // obiect selectabil
bool privat activ = fals; // dacă este adevărat, adică obiectul selectat
public GameObject Terra; // teren
public LayerMask terrainMask; // stratul care atribuie terranului
butonul public BTankPlMove; // butonul de activare

// private float newZ;
// Utilizați acest lucru pentru inițializare
void Start # 40; # 41;
# 123;
// newZ = selectTank.transform.position.z;
# 125;

// Actualizarea se numește o dată pe cadru
void Update # 40; # 41;
# 123;
dacă # 40; Intrare. GetMouseButtonDown # 40; 0 # 41; # 41; # 123;
dacă # 40; activ == true # 41; # 123; // verificați dacă există GN
selectTank. transformare. găsi # 40; "Mark" # 41;. gameObject. SetActive # 40; fals # 41; ; // dacă este atribuită GO, apoi eliminați selecția din ea
# 125;
// variabile pentru detectarea coliziunilor cu terrane
Ray jray;
RaycastHit jhit;
jray = Camera. principal. ScreenPointToRay # 40; Intrare. mousePosition # 41; ; // Să începem o rază de la șoarece
dacă # 40; Fizică. Raycast # 40; jray, out jhit, 10000.0f # 41; # 41; # 123; // dacă fasciculul a lovit terra
dacă # 40; jhit. solid rigid. gameObject! = null # 41; # 123; // în cazul în care fasciculul a lovit carligul
Debug. Log # 40; jhit. solid rigid. gameObject. nume # 41; ; // luați numele GO în linie
dacă # 40; jhit. solid rigid. gameObject! = Terra # 41; # 123; // dacă nu loviți pământul
selectTank = jhit. solid rigid. gameObject; // atribuiți variabila GO la variabila a cărei creastă a lovit raza
selectTank. transformare. găsi # 40; "Mark" # 41;. gameObject. SetActive # 40; adevărat # 41; ; // se activează cadrul de selectare a obiectului roșu
OnEnable # 40; # 41; ;
active = adevărat;
//selectTank.transform.position = nou Vector3 (0,0,0); // Rotiți GO după cum este necesar
# 125;
# 125;
# 125;
# 125;


# 125;
void OnEnable # 40; # 41; # 123;
BTankPlMove. gameObject. SetActive # 40; adevărat # 41; ;
# 125;
# 125;

E ciudat. în timp ce în documentația pentru yunku a funcționarului include Image UI poate fi atât de ușor:
utilizând UnityEngine;
utilizând System.Collections;
utilizând UnityEngine.UI; // Necesar la utilizarea elementelor UI.

clasa publica Exemplu. MonoBehaviour
public Image pauseMenu;

public void Start ()
// Activează meniul de pauză UI.
pauseMenu.enabled = true;
>
>

prin testarea pe buton - pula


utilizând UnityEngine;
utilizând UnityEngine.UI;
utilizând System.Collections;

clasa publica SelectTank. MonoBehaviour # 123;
public GameObject selectTank; // obiect selectabil
bool privat activ = fals; // dacă este adevărat, adică obiectul selectat
public GameObject Terra; // teren
public LayerMask terrainMask; // stratul care atribuie terranului
butonul public BTankPlMove; // butonul de activare

// private float newZ;
// Utilizați acest lucru pentru inițializare
void Start # 40; # 41;
# 123;
SetButtonVisible # 40; fals # 41; ;
// newZ = selectTank.transform.position.z;
# 125;

// Actualizarea se numește o dată pe cadru
void Update # 40; # 41;
# 123;
dacă # 40; Intrare. GetMouseButtonDown # 40; 0 # 41; # 41; # 123;
dacă # 40; activ == true # 41; # 123; // verificați dacă există GN
selectTank. transformare. găsi # 40; "Mark" # 41;. gameObject. SetActive # 40; fals # 41; ; // dacă este atribuită GO, apoi eliminați selecția din ea
# 125;
// variabile pentru detectarea coliziunilor cu terrane
Ray jray;
RaycastHit jhit;
jray = Camera. principal. ScreenPointToRay # 40; Intrare. mousePosition # 41; ; // Să începem o rază de la șoarece
dacă # 40; Fizică. Raycast # 40; jray, out jhit, 10000.0f # 41; # 41; # 123; // dacă fasciculul a lovit terra
dacă # 40; jhit. solid rigid. gameObject! = null # 41; # 123; // în cazul în care fasciculul a lovit carligul
Debug. Log # 40; jhit. solid rigid. gameObject. nume # 41; ; // luați numele GO în linie
dacă # 40; jhit. solid rigid. gameObject! = Terra # 41; # 123; // dacă nu loviți pământul
selectTank = jhit. solid rigid. gameObject; // atribuiți variabila GO la variabila a cărei creastă a lovit raza
selectTank. transformare. găsi # 40; "Mark" # 41;. gameObject. SetActive # 40; adevărat # 41; ; // se activează cadrul de selectare a obiectului roșu
SetButtonVisible # 40; adevărat # 41; ;
active = adevărat;
//selectTank.transform.position = nou Vector3 (0,0,0); // Rotiți GO după cum este necesar
# 125;
# 125;
# 125;
# 125;


# 125;
void SetButtonVisible # 40; bool b # 41; # 123;
BTankPlMove. gameObject. SetActive # 40; b # 41; ;
# 125;
# 125;

Nu funcționează, dar nu dă nici o eroare.
ceea ce înseamnă:
bool b

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat și 0 vizitatori