2016-04-28 57 views
0

我用一些ui圖像創建了一個統一場景。我嘗試處理點擊它們。我的UI圖像:手柄ui點擊android - unity

enter image description here

附上箱2D撞機UI圖像。我在EventSystem檢查員上激活Allow Activation on Mobile Device

enter image description here

每個UI圖像有一個腳本文件。該文件的內容:

public void OnPointerDown(PointerEventData eventData) 
    { 
     if (eventData.clickCount == 1) 
     {     
      model3d.GetComponent<MeshRenderer>().material = newmaterial; 
      eventData.clickCount = 0; 
     } 
    } 

此代碼更改材料只有先點擊ui圖像。它在第一次點擊操作後不起作用。

如何處理點擊ui圖像?

SOLUTION

我創建UI->按鈕。我設置inspector->點擊屬性。它現在有效。

+1

這是完全錯誤的,zumma調用方法。只需點擊添加 - >用戶界面 - >按鈕。它會爲你製作一個按鈕。 – Fattie

回答

0

附上箱2D撞機UI圖像

你不這樣做,對UI圖像。您只能將2d碰撞器附加到不在畫布下的2D Sprite。

只要Raycast Target在每個Image性能檢查,存在的EventSystem GameObject與連接到它EventSystemStandalone Input Module腳本,應該工作。所以,從Canvas下的所有圖像中刪除2d對撞機。的

0

1,而不是UI圖像做出按鈕
2創建腳本你想點擊後,被稱爲
3附上你的腳本的遊戲對象(即:相機)
4 -in您在檢查器按鈕有一個名爲的OnClick點擊面板+
5選擇遊戲對象與腳本(如:相機),並在旁邊的腳本的名稱,並選擇你想
6 - 每次點擊你的腳本被稱爲
的對象,改變你的腳本這個

void changematerial() 
{ 
      model3d.GetComponent<MeshRenderer>().material = newmaterial; 

} 
+0

我創建按鈕。存在同樣的問題。按幾次後材料chnages。 – zumma

+0

你想在每次點擊按鈕時將材質設置爲新材質?如果這是你想要的,那麼這些行的用法是什麼if(eventData.clickCount == 1)'和'eventData.clickCount = 0 ;'簡單地寫'model3d.GetComponent ()。material = newmaterial;' –

+0

是的,我想每次點擊按鈕都改變材質。我刪除clickcount控制線,但結果是一樣的。該材料不會更改每次點擊操作。它在幾次點擊操作後發生了變化。 – zumma