2016-04-28 38 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