Unity 中图片的 onClick 事件

问题描述 投票:0回答:2

是否可以在 Unity 中向图像(画布的一个组件)添加“onClick”功能?

var obj = new GameObject();
Image NewImage = obj.AddComponent<Image>();
NewImage.sprite = Resources.Load<Sprite>(a + "/" + obj.name) as Sprite;
obj.SetActive(true);
obj.AddComponent<ClickAction>();

如何为“onClick”事件添加动作?

c# unity3d onclick
2个回答
42
投票

假设

ClickAction
是您的脚本,您可以通过以下方式实现
OnClick
功能:

using UnityEngine.EventSystems;

public class ClickAction : MonoBehaviour, IPointerClickHandler
{ 
    public void OnPointerClick(PointerEventData eventData)
    {
        // OnClick code goes here ...
    }
}

命名空间

UnityEngine.EventSystems
为您提供
IPointerClickHandler
接口。单击图像时,
OnPointerClick
中的代码将运行。


19
投票

上面的答案是5年前的事了,变化很大。虽然它可能仍然有效,但它可能更容易。所以我再次回答这个问题。

你只需要在你想要点击的对象上添加EventTrigger组件即可。并添加 Pointer Click 事件类型。

然后只需添加脚本即可。(单击“+”,添加脚本附加的对象,然后选择功能)

注意: 此方法仅适用于Canvas内的对象,换句话说,该对象必须是UI对象,如本题所问的图像。

© www.soinside.com 2019 - 2024. All rights reserved.