完整笔记内容点击https://kokoollife.github.io/查看。
部分内容
02 简陋实现
001 玩家控制器
[1]简单移动
a:逻辑与动画分离
b:新建脚本Player.cs
csharp">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
来反映
效果展示