ios - 如何使用触摸拖动游戏对象(unity2d)

标签 ios unity-game-engine touch 2d drag

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

所以,我有一个 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.collider.SendMessage("move");

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

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

相关文章:

java - 具有多个 View 的 Android 触摸事件

ios - 当我设置过去的日期通知时,UILocal 通知不会按计划日期和时间触发

ios - ARKIT : SKVideoNode continue playing while node is out of scene, 暂停不起作用

c# - 如何在 unity c# 脚本和 android Activity 之间正确通信?

屏幕上的 Android Touch 事件

c# - 带触摸屏的 WPF,列表框打开模式窗口没有响应

objective-c - 两个NSDate之间的日期比较

ios - UIPicker selectRow 不工作-这段代码有什么问题?

javascript - 通过Unity3D调用node.js中的javascript函数?

c - 用递增 100 的计数器替换 Unity Time.time?