[RequireComponent(typeof(PlayerController))]
public class Player : MonoBehaviour
{
PlayerController controller;
[Header("属性")]
public float moveSpeed = 8;
void Start()
{
controller = GetComponent<PlayerController>();
}
void Update()
{
Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
Vector2 moveVelocity = moveInput.normalized * moveSpeed;
controller.Move(moveVelocity);
}
}
[RequireComponent(typeof(Rigidbody2D))]
[RequireComponent(typeof(CircleCollider2D))]
public class PlayerController : MonoBehaviour
{
Vector2 velocity;
Rigidbody2D myRigidbody2D;
void Start()
{
myRigidbody2D = GetComponent<Rigidbody2D>();
myRigidbody2D.gravityScale = 0;
}
public void Move(Vector2 _velocity)
{
velocity = _velocity;
}
private void FixedUpdate()
{
myRigidbody2D.MovePosition(myRigidbody2D.position + velocity * Time.fixedDeltaTime);
}
}