Unity 5:如何检测自定义按钮和对象上的触摸

Unity 5: How can I detect a touch on a custom button and object

我正在尝试为 Android 和 iPhone 制作一款游戏,如果玩家点击 3d 箱子,他会收到一些物品。我已经完成了物品赠送,但我无法正确检测到触摸。并且它必须支持多点触控,这样付款人可以在打开宝箱的同时按住移动按钮。

我既没有检测按钮触摸,也没有检测物体触摸?

它们每个人都可以有自己的脚本吗?还是它们都在一个带有 if 语句的脚本中?

您可以为您的箱子对象脚本实现 IPointerClickHandler 接口,类似于:

class ChestObject : MonoBehaviour, IPointerClickHandler
{
    // Your other functions ...

    void OnPointerClick(PointerEventData eventData)
    {
        //The program will run this function when you click the chest
    }
}

根据您的需要,您还可以实现IPointerDownHandlerIPointerUpHandlerIDragHandlerIDropHandler等。这些接口随新的UI 系统,它们非常有用。