大家好!我是Unity新手,正在学习Unity Learn上的游戏开发路径。

我正在创建一个2D场景,玩家可以通过点击鼠标移动到鼠标光标的位置。虽然我已经输入了教程中的所有代码,但我遇到了一个小问题:当我点击鼠标时,玩家会移动到鼠标光标的位置,而不是移动到鼠标光标的方向上,甚至在某些时候会消失。

下面是PlayerController的代码:

using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
{
    public float thrustForce = 1f;
    Rigidbody2D rb;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (Mouse.current.leftButton.isPressed)
        {
            // Calculate mouse direction
            Vector3 mousePos = Camera.main.ScreenToWorldPoint(Mouse.current.position.value);
            Vector2 direction = (mousePos - transform.position).normalized;

            // Move player in direction of mouse
            transform.up = direction;
            rb.AddForce(direction * thrustForce);
        }
    }

    void OnCollisionEnter2D(Collision2D collision)
    {
        Destroy(gameObject);
    }
}

当我点击鼠标时会发生什么?如何解决这个问题?