2016-02-26 279 views
0

我想在按下按鈕時顯示彈出框。單擊單個按鈕時彈出一個彈出框

enter image description here

enter image description here

但現在它看起來像這樣

enter image description here

我觀看了關於如何使一個彈出時,按下按鈕很多教程。

但他們都通過腳本彈出,而不是實例化預製件。

我不確定是否可以實例化預製件,因爲我希望或它不是一個好主意。

這裏是我的代碼

using UnityEngine; 
using System.Collections; 
using UnityEngine.EventSystems; 

public class Purchase : MonoBehaviour,IPointerClickHandler 
{ 
    public GameObject purchasePanel; 
    public GameObject panelPosition; 

public void OnPointerClick (PointerEventData eventData) 
    { 

     GameObject instantiatedPurchase = Instantiate(purchasePanel, panelPosition.transform.position,panelPosition.transform.rotation) as GameObject; 
    instantiatedPurchase.transform.SetParent(panelPosition.transform); 
} 

}

回答

2

你可能會使用Unity.UI,只是使用的面板。

這很容易(1)點擊「添加畫布」(2)點擊「添加面板」。

只需打開它,並用

.SetActive 

關閉從您的代碼。請享用!正如你可以看到它的這個簡單:

enter image description here

嘗試在與Inspector是切換編輯器打開和關閉它。在代碼中它只是...

public GameObject popupPanel; 
    ... 
    popupPanel.SetActive(false); or... 
    popupPanel.SetActive(true); 
+0

你的意思是不是每次都實例化它,只保留一個在場景中,並使用SetActive來控制它? –

+0

是的,這就是他的意思。 – Savlon

+0

確保您的數據透視也在預製中設置 – LumbusterTick