处理ui点击android - unity

时间:2016-04-28 11:14:19

标签: android canvas unity3d

我用一些ui图像创建了一个统一场景。我试着点击它们。我的ui图片是:

enter image description here

我将盒子2d对撞机连接到ui图像。我在Allow Activation on Mobile Device检查员上激活EventSystem

enter image description here

每个ui图像都有一个脚本文件。文件内容:

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

此代码仅更改材料,首先单击ui图像。首次点击操作后它无法正常工作。

如何处理点击ui图像?

解决方案

我创建了ui-&gt;按钮。我在Click属性上设置了inspector-&gt;。它现在有效。

2 个答案:

答案 0 :(得分:0)

  

我将盒子2d对撞机附加到ui图像

您不会对UI图像执行此操作。您只能将2d对撞机附加到不在“画布”下的2D Sprite。

只要在每个Raycast Target属性上检查Image,并且附加了GameObjectEventSystem脚本的EventSystem Standalone Input Module,就应该工作。因此,从Canvas下的所有图像中删除2d对撞机。

答案 1 :(得分:0)

1 - 代替UI图片制作按钮
2 - 创建您希望在单击
之后调用的脚本 3 - 将脚本附加到游戏对象(即:相机)
4在检查器的按钮中有一个名为 OnClick 的面板单击 +
5 - 使用脚本(即:相机)选择游戏对象,然后在脚本名称旁边,选择要调用的方法 6 - 每次单击对象时,脚本称为
并将您的脚本更改为此

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

}