我用一些ui图像创建了一个统一场景。我试着点击它们。我的ui图片是:
我将盒子2d对撞机连接到ui图像。我在Allow Activation on Mobile Device
检查员上激活EventSystem
。
每个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;。它现在有效。
答案 0 :(得分:0)
我将盒子2d对撞机附加到ui图像
您不会对UI图像执行此操作。您只能将2d对撞机附加到不在“画布”下的2D Sprite。
只要在每个Raycast Target
属性上检查Image
,并且附加了GameObject
和EventSystem
脚本的EventSystem Standalone Input Module
,就应该工作。因此,从Canvas
下的所有图像中删除2d对撞机。
答案 1 :(得分:0)
1 - 代替UI图片制作按钮
2 - 创建您希望在单击
之后调用的脚本
3 - 将脚本附加到游戏对象(即:相机)
4在检查器的按钮中有一个名为 OnClick 的面板单击 +
5 - 使用脚本(即:相机)选择游戏对象,然后在脚本名称旁边,选择要调用的方法
6 - 每次单击对象时,脚本称为
并将您的脚本更改为此
void changematerial()
{
model3d.GetComponent<MeshRenderer>().material = newmaterial;
}