如何使用c#中的触摸输入在统一2d中移动对象

时间:2018-09-18 17:08:53

标签: c# unity3d

我要在android中的触摸输入上移动对象,以在C#中统一2d

我有一个别针对象,想要在触摸该别针时移动该别针,并根据触摸移动将其移动,并在触摸将其放下时停住该对象。

我还想检查通过触摸移动的图钉是否在屏幕上的某些位置掉落,例如,另一个盒子对象需要在其中放置图钉对象。

我是统一平台的新手,正在努力实现对象的触摸输入运动。这是和Android游戏。  我不想使用来自unity资产存储区的touchscript在android中进行触摸。我需要一个脚本,以便可以将其附加到对象上。 请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以使用OnMouseDrag(),因为它可同时在编辑器和移动设备上使用,因此更易于测试。只要有碰撞器,它就可以用于3D对象。

  • 创建一个脚本。

  • 将以下功能添加到脚本并将其附加到您的精灵上。

  • 确保将collider2d添加到您的sprite中,否则将无法正常工作。

    void OnMouseDrag() {
    Vector3 mousePosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, -1*(Camera.main.transform.position.z));
    Vector3 objPosition = Camera.main.ScreenToWorldPoint(mousePosition);
    transform.position = objPosition; }