如何使用touch(unity2d)拖动gameObject

时间:2014-11-04 06:12:11

标签: ios unity3d touch 2d drag

我在互联网上搜索了这个,但我仍然没有找到我想要的答案。

所以,我有一个2D平铺游戏,每个平铺位置是1.25的倍数,例如7.5,3.75。将有一个玩家走在它顶部,我想通过拖动来控制玩家,如果你释放触摸它将完美地在瓷砖上而不是在瓷砖之间。现在,我甚至无法弄清楚如何用触摸拖动gameObject。任何人都可以帮助我并向我解释如何做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您需要在计划移动的每个物体上都有一个对撞机。然后创建一个类,其唯一目的是触发Raycast。检测触摸何时发生。然后解雇Raycast。

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

你会注意到你有hit;您可以向该特定对象发送消息。

hit.collider.SendMessage("move");

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