【发布时间】:2017-09-14 19:01:50
【问题描述】:
所以,我的老板在检测到玩家时会朝特定方向移动。我遇到的问题是如何让老板移动,这取决于玩家在一定距离内的位置。所以如果老板在玩家的左边,他会向左移动。如果他在球员的右边,他会向右移动。但我不知道如何让他根据距离做出反应。现在我只是在做一个 Debug.Log 来节省几秒钟。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class phantom : MonoBehaviour {
private Rigidbody2D rb;
private Animator anim;
public Transform Target;
void Start ()
{
rb = GetComponent<Rigidbody2D> ();
anim = GetComponent<Animator> ();
}
void Update ()
{
if (transform.position.x > Target.position.x ) {
Debug.Log ("left");
}
if (transform.position.x < Target.position.x ) {
Debug.Log ("right");
}
}
}
【问题讨论】:
-
根据距离应该有什么反应?您是否尝试过计算更新中的距离并根据结果采取各种措施?
-
是的,我有。我只是要让这个脚本附加到的老板,向右或向左移动。我已经知道该怎么做。我专注于让它只显示 Debug.Log ("");当她在某个距离接近时。
-
但是有什么问题呢?我在这里看不到任何基于到目标距离的代码。您是否尝试过实施?如果有,代码是什么,有什么问题?
-
这就是我想要弄清楚的。如何在代码中实现距离。不过我想通了。我只是把这个函数变成了一个 OnTriggerStay2D 函数。不过感谢您的回复。
标签: c# position transform distance unity2d