[Unity3D]胡闹厨房复刻笔记
完整笔记内容点击https://kokoollife.github.io/查看。
部分内容
02 简陋实现
001 玩家控制器
[1]简单移动
a:逻辑与动画分离
b:新建脚本Player.cs
using UnityEngine;
public class Player : MonoBehaviour
{
//私有就保证不被其他脚本修改该变量,序列化保证我们可以方便在检查器中调节这个变量。
[SerializeField] private float moveSpeed = 7f;
private void Update() {
//实现上下左右移动,有效的是三维坐标(x,0,z)
Vector2 inputVector = new Vector2(0, 0);
if (Input.GetKey(KeyCode.W)) {
inputVector.y = +1;
}
if (Input.GetKey(KeyCode.S)) {
inputVector.y = -1;
}
if (Input.GetKey(KeyCode.A)) {
inputVector.x = -1;
}
if (Input.GetKey(KeyCode.D)) {
inputVector.x = +1;
}
//归一化,解决对角线移动速度过快问题
inputVector = inputVector.normalized;
Vector3 moveDir = new Vector3(inputVector.x, 0, inputVector.y);
//要考虑帧率对游戏的影响和速度
transform.position += moveDir * moveSpeed * Time.deltaTime;
Debug.Log(Time.deltaTime);
}
}
FPS:
帧率其实也可以通过Time.deltaTime
来反映
效果展示