半夜睡不着,所以打算建立一个可复用的代码库。这篇是关于物体的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);
}
}
}
本文介绍了两种Unity中实现WASD控制角色移动的方法。一种适用于摄像机绑定,通过获取水平和垂直输入来控制物体移动;另一种直接使用方向键控制物体在各个方向上的位移。
6593

被折叠的 条评论
为什么被折叠?



