C# 在Unity 2D中将玩家移向单击点
我正在制作一个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
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);
}
}