我在互联网上进行了搜索,但仍然找不到我想要的答案。
因此,我有一个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/