我在互联网上进行了搜索,但仍然找不到我想要的答案。

因此,我有一个2D平铺游戏,每个平铺位置是1.25的倍数,例如7.5、3.75。将会有一个玩家在它上面行走,我想通过拖动它来控制它,如果您松开触摸,它将完美地放置在图块上,而不是在图块之间。现在,我什至不知道如何通过触摸拖动游戏对象。谁能帮助我并向我解释该如何做?

最佳答案

您需要在计划移动的每个对象上使用对撞机。然后创建一个类,其唯一目的是触发Raycast。检测何时发生触摸。然后发射Raycast。

RaycastHit hit;
if(Physics.Raycast(ray, out hit, 100))
    Debug.DrawLine(ray.origin, hit.point);

您会注意到,您拥有了hit;这样您就可以向该特定对象发送消息。
hit.collider.SendMessage("move");

现在,在您击中的对象内部,您必须使用触摸位置的坐标来更新transform.position

关于ios - 如何使用touch(unity2d)拖动gameObject,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26728810/

10-10 21:11