我在互联网上搜索了这个,但我仍然没有找到我想要的答案。
所以,我有一个2D平铺游戏,每个平铺位置是1.25的倍数,例如7.5,3.75。将有一个玩家走在它顶部,我想通过拖动来控制玩家,如果你释放触摸它将完美地在瓷砖上而不是在瓷砖之间。现在,我甚至无法弄清楚如何用触摸拖动gameObject。任何人都可以帮助我并向我解释如何做到这一点吗?
答案 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
。