| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 
 | using UnityEngine;using System.Collections;
 using System.Collections.Generic;
 public class PlayerControler : MonoBehaviour
 {
 public Rigidbody2D rb;
 public float speed;
 void Update()
 {
 Movement();
 }
 void Movement()
 {
 rb.velocity = new Vector2(0, 0);
 float horizontalmove = Input.GetAxis("Horizontal");
 float verticalmove = Input.GetAxis("Vertical");
 if (horizontalmove != 0|| verticalmove != 0)
 {
 rb.velocity = new Vector2(horizontalmove * speed, rb.velocity.y);
 rb.velocity = new Vector2(rb.velocity.x, verticalmove * speed);
 }
 }
 }
 
 | 
2D下的简单实现,3D同理,不过得绑个刚体。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | using System.Collections;using System.Collections.Generic;
 using UnityEngine;
 
 public class Player : MonoBehaviour
 {
 public Rigidbody rb;
 public float speed;
 public void Update()
 {
 rb.velocity = new Vector3(0, 0, 0);
 float horizontalmove = Input.GetAxis("Horizontal");
 float verticalmove = Input.GetAxis("Vertical");
 if (horizontalmove != 0 || verticalmove != 0)
 {
 rb.velocity = new Vector3(horizontalmove * speed, 0, rb.velocity.z);
 rb.velocity = new Vector3(rb.velocity.x, 0, verticalmove*speed);
 }
 }
 }
 
 | 
丝滑实现详见:https://github.com/Matthew-J-Spencer/Ultimate-2D-Controller/blob/main/Scripts/PlayerController.cs