【问题标题】:Unity smooth touch x coordinateunity 平滑触感 x 坐标
【发布时间】:2015-12-29 18:09:49
【问题描述】:

我有一个 2D 手机游戏,我需要触摸和拖动对象。这是一个脚本(对象不会随着这个脚本顺利移动)。我想在当时手指的位置移动物体。

public float speed;

    void  Update ()
    {
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) 
        {

            Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;

            transform.Translate(touchDeltaPosition.x * speed, 0, 0);
        }

怎么办?

谢谢 亲切的问候

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    您不应在此处使用speed,因为它会立即为您提供准确的位置。所以试着像transform.Translate(touchDeltaPosition.x, 0, 0);一样删除speed

    更新:

    您也可以使用Vector3.MoveTowards。试试看

    void  Update ()
        {
            if (Input.touchCount > 0 && Input.GetTouch (0).phase == TouchPhase.Moved) { //pomicanje trake po x-osi na touch screenu
                // pokret prsta od zadnjeg frejma
                Vector3 touchDeltaPosition = Input.GetTouch (0).deltaPosition;
                // Za x-os
                transform.position = Vector3.MoveTowards (transform.position, new Vector3 (Mathf.Clamp (touchDeltaPosition.x, -2.5f, 2.5f), transform.position.y, transform.position.z), 1);
            }
        }
    

    而不是transform.Translate

    它应该很好用。

    【讨论】:

    • 现在,我的对象的速度非常非常快。不要跟着我的手指走。此外,我将对象的移动限制在结束范围内。
    • 您的对象 Y 和 Z 位置是否已设置为 0
    • 是的,它只在 x 轴上移动,但速度非常快。我只需将手指移动一毫米,我的对象就在末端角落。
    • 5 个错误:Assets/pomicanjeTrake.cs:错误 CS1502:UnityEngine.Vector3.Vector3(float, float, float)' has some invalid arguments.Assets/pomicanjeTrake.cs(17,136): error CS1503: Argument #3' 的最佳重载方法匹配无法转换 object' expression to type float'.Assets/pomicanjeTrake.cs(17,54) : 错误 CS1502: 匹配 UnityEngine.Vector3.MoveTowards(UnityEngine.Vector3, UnityEngine.Vector3, float)' has some invalid arguments.Assets/pomicanjeTrake.cs(17,54): error CS1503: Argument #2' 的最佳重载方法无法转换 object' expression to type UnityEngine.Vector3'
    • 最后应该是transform.position.z,抱歉打错了
    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2011-03-08
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    相关资源
    最近更新 更多