半夜睡不着,所以打算建立一个可复用的代码库。这篇是关于物体的wasd移动。
first of all,code.
方法一:
如果将脚本绑定在摄像机上,摄像机w,s位移方向是Y轴。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour {
public float Speed;
void FixedUpdate()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
PlayerMove(h, v);
}
void PlayerMove(float h, float v)
{
transform.Translate(h * Speed * Time.deltaTime, 0, v * Speed * Time.deltaTime);
}
}
方法二:
通用wasd移动脚本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour {
public float MoveSpeed ;
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.up * Time.deltaTime * MoveSpeed);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(Vector3.down * Time.deltaTime * MoveSpeed);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(Vector3.left * Time.deltaTime * MoveSpeed);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(Vector3.right * Time.deltaTime * MoveSpeed);
}
}
}