Unity3d入门技巧——用键盘控制角色移动

在游戏中玩家经常用到wasd来控制任务的移动,这篇文章就来讲一下在unity3d中,我们怎么通过键盘来控制物体的移动。

先在场景中放置一个Capsule作为我们要移动的物体,把它命名为player。
Unity3d入门技巧——用键盘控制角色移动_第1张图片

在Assets中添加一个叫move的脚本
Unity3d入门技巧——用键盘控制角色移动_第2张图片

双击脚本,输入以下代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour {

    public float speed = 1.5f;//控制移动速度
    public Transform m_transform;

	// Use this for initialization
	void Start () {
        m_transform = this.transform;
	}
	
	// Update is called once per frame
	void Update () {
        //向左
        if (Input.GetKey(KeyCode.A))
        {

            m_transform.Translate(Vector3.left * Time.deltaTime * speed);
        }

        //向右
        if (Input.GetKey(KeyCode.D))
        {

            m_transform.Translate(Vector3.right * Time.deltaTime * speed);
        }
        //向前
        if (Input.GetKey(KeyCode.W))
        {

            m_transform.Translate(Vector3.forward * Time.deltaTime * speed);
        }
        //向后
        if (Input.GetKey(KeyCode.S))
        {

            m_transform.Translate(Vector3.back * Time.deltaTime * speed);
        }
    }
}

在以上代码中,我们可以通过改变speed的值来改变物体移动的速度。而deltaTime这个值则被称为增量时间,它可以使我们的运动与帧率独立。这里要引入一个帧率依赖(frame rate dependent)的概念,原来的移动代码是根据计算机的帧率决定的,即每帧移动多少米,这样在fps(frames per second)不同的电脑上,物体移动的速度是不一样的。在大多数情况下,我们都是不希望这种情况出现的。所以我们要乘以一个deltaTime,这样值就表示每秒移动多少米了。

然后把脚本拖到player上面,点play按钮,就可以发现我们可以通过wasd控制物体的移动啦。

调整以下照相机的视角效果就更好啦。
Unity3d入门技巧——用键盘控制角色移动_第3张图片

你可能感兴趣的:(Unity3d入门技巧——用键盘控制角色移动)