我是Unity的新手,我有点惊讶的是没有可选的自动转换基本触摸操作鼠标。好吧,至少没有我在搜索2小时后发现..无论如何..我有以下脚本来拖动2D精灵:
void OnMouseDrag()
{
if (dragEnabled) {
Vector3 point = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, (transform.position.z - Camera.main.transform.position.z)));
point.z = transform.position.z;
transform.position = point;
}
}
非常直截了当.. 但是现在我需要将这项工作用于触摸,但是我发现的每一个解决方案都是从2011年开始,无法工作和/或长达数十行......
是否有一种简单的方法可以将其“转换”为移动设备,或者更好的是,制作一个适用于这两种情况的解决方案?
答案 0 :(得分:2)
正如@DennisLiu所说:如果你看到@Programmer's answer的结尾,你将找到用3D对象(或简称非UI对象)来做到这一点的方法。实现您正在寻找的内容的最简单方法是使用带有 PhysicRaycaster 的EventSystem组件(与用于UI光线投射的默认 GraphicRaycaster 相同)对于3D对象):
然后你只需订阅@Programmer解释的事件 您可以查看支持的事件列表here。