Unity touch更新周期

fixupdate的更新频率不等于input.touch

 void FixedUpdate()
{
    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);
        if (touch.phase == TouchPhase.Moved)
        {
            touch.deltaPosition......

检测每帧的触摸移动距离

然后发现实际效果比预期多了一倍

经过测试发现是因为deltaposition的更新周期慢于fixedupdate的周期

每段deltaposition被使用近两次

解决方法

touch.position手动记录这帧的位置和下帧的位置,相减等于两帧之间的deltaposition

猜你喜欢

转载自blog.csdn.net/qq_32403857/article/details/85428481