002_移动速度

002_移动速度

移动速度:单位/帧

public class RubyController : MonoBehaviour
{
    // 在第一次帧更新之前调用 Start
    void Start()
    {
        //垂直同步计数设为0,才能锁帧,否则锁帧代码无效
        //垂直同步的作用就是显著减少游戏画面撕裂、跳帧,因为画面的渲染不是整个画面一同渲染的,而是逐行或逐列渲染的,能够让FPS保持与显示屏的刷新率相同。
        QualitySettings.vSyncCount = 0;
        //设定应用程序帧数为60
        Application.targetFrameRate = 60;
    }

    // 每帧调用一次 Update
    void Update()
    {
        /* 根据按键移动上下左右的位置:每帧移动0.1 */
        //获取水平输入,按向左会获得-1.0f,按向右会获得1.0f
        float horizontal = Input.GetAxis("Horizontal");
        //获取垂直输入按向下会获得-1.0f,按向上会获得1.0f
        float vertical = Input.GetAxis("Vertical");
        //获取对象当前位置
        Vector2 position = transform.position;
        //更改位置
        position.x = position.x + 0.1f * horizontal;
        position.y = position.y + 0.1f * vertical;
        //新位置给游戏对象
        transform.position = position;
    }
}

移动速度:单位/秒

public class RubyController : MonoBehaviour
{
    // 将速度暴露出来,使其可调
    public float speed = 4f;

    // 在第一次帧更新之前调用 Start
    void Start()
    {

    }

    // 每帧调用一次 Update
    void Update()
    {
        /* 根据按键移动上下左右的位置:每帧移动0.1 */
        //获取水平输入,按向左会获得-1.0f,按向右会获得1.0f
        float horizontal = Input.GetAxis("Horizontal");
        //获取垂直输入按向下会获得-1.0f,按向上会获得1.0f
        float vertical = Input.GetAxis("Vertical");
        //获取对象当前位置
        Vector2 position = transform.position;
        //更改位置,Time.deltaTime 每帧的时间间隔,float 类型
        position.x = position.x + speed * horizontal * Time.deltaTime;
        position.y = position.y + speed * vertical * Time.deltaTime;
        //新位置给游戏对象
        transform.position = position;
    }
}
posted @   爱吃冰激凌的黄某某  阅读(8)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示