我想将对象引导到滑动屏幕的另一侧。 该对象已经在场景中。我只想编辑y坐标。
例如...
假设用户从上至下滑动Android屏幕。 然后,物体朝后看, 当用户从左向右滑动Android屏幕时, 该对象向左看。
我掌握了使用Unity官方StandardAssets中的操纵杆更改对象方向的技术。
请任何人回答。
答案 0 :(得分:1)
好吧,首先,您需要检测滑动的方向。然后,分别将对象的比例或旋转方向分配给该方向。
要执行滑动方向计算,您可以在Asset Store上寻找一些解决方案。 或者,您也可以自己实施:
1)进行全屏触摸区域(对撞机)。附加一个实现了IPointerDownHandler
和IPointerUpHandler
接口的MonoBehaviour脚本。
2)记住PointerDown事件的触摸位置。
3)在PointerUp事件处理程序中,进行方向计算:
var distance = pointerUpPosition - pointerDownPosition;
if (distance.y > distance.x) // vertical
{
theObject.transform.localScale *= Vector3.up * (pointerUpPosition.y > pointerDownPosition.y ? -1 : 1);
}
else
{
theObject.transform.localScale *= Vector3.right * (pointerUpPosition.x > pointerDownPosition.x ? -1 : 1);
}
此解决方案不包括边缘情况f.i.笔直的对角线滑动。此外,它使用比例尺来定向对象,并且每次滑动都会旋转它。
您也可以使用Unity的UI事件系统实现类似的实现。但是,那里的事件会有所不同。