C# 在Unity 2D中将玩家移向单击点

C# 在Unity 2D中将玩家移向单击点,c#,unity2d,C#,Unity2d,我正在制作一个2D点击游戏,我希望玩家朝着点击的对象移动。这是我将玩家移向门的代码: using UnityEngine; using System.Collections; public class MoveOnClick : MonoBehaviour { public GameObject door; public GameObject player; public float speed; public Vector3 target; void Update () { if

我正在制作一个2D点击游戏,我希望玩家朝着点击的对象移动。这是我将玩家移向门的代码:

using UnityEngine;
using System.Collections;

public class MoveOnClick : MonoBehaviour {
public GameObject door;
public GameObject player;
public float speed;
public Vector3 target;

void Update () {
    if (Input.GetMouseButtonDown (0)) {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector3.zero);
        if (hit.collider != null) {
            player.transform.position = Vector3.MoveTowards(player.transform.position, target, speed * Time.deltaTime);
        }
    }
}
}

问题是播放器每次点击只移动一个像素。如果门被点击,我想让播放器一直移动到门前。

应该可以:

void Update () {
    if (Input.GetMouseButtonDown (0)) {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector3.zero);  
    target = hit.transform.position;  
    }

    if (hit.collider != null) {
        player.transform.position = Vector3.MoveTowards(player.transform.position, target, speed * Time.deltaTime);
    }
}