Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在一定距离内让敌人跟着你_C#_Unity3d_Move - Fatal编程技术网

C# 在一定距离内让敌人跟着你

C# 在一定距离内让敌人跟着你,c#,unity3d,move,C#,Unity3d,Move,我有敌人沿着设定的路径移动(路径点),但我希望当你在玩家一定距离内时,敌人跟随玩家,但当超过该距离时,敌人返回其路径点并继续沿着路径移动,直到玩家再次在一定距离内。所以它一直这样做。下面是我为敌人提供的沿途移动点的代码 我使用的是Unity 2d和C# 使用向量3检查敌人和玩家之间的距离。距离(其他位置,转换位置) 并根据您的选择检查距离,如果距离小于distVal,则敌人应跟随或执行行动 var distVal=5.0f; var dis=Vector3.Distance(enemyTrans

我有敌人沿着设定的路径移动(路径点),但我希望当你在玩家一定距离内时,敌人跟随玩家,但当超过该距离时,敌人返回其路径点并继续沿着路径移动,直到玩家再次在一定距离内。所以它一直这样做。下面是我为敌人提供的沿途移动点的代码

我使用的是Unity 2d和C#


使用向量3检查敌人和玩家之间的距离。距离(其他位置,转换位置) 并根据您的选择检查距离,如果距离小于distVal,则敌人应跟随或执行行动

var distVal=5.0f;
var dis=Vector3.Distance(enemyTransform.position,playerTransform.position);
if(dis<=disVal)
{
  //what enemy should do.
}
var distVal=5.0f;
var dis=向量3.距离(enemyTransform.position,playerTransform.position);
如果(disArslan的回答是正确的-
只需在代码中添加一个小小的更改,让您知道它也可以通过这种方式完成

var distVal=5.0f;        
if (Vector3.Distance(enemyTransform.position, playerTransform.position) < disVal)
            {
                Debug.Log("Enemy following you");
            }
var distVal=5.0f;
if(向量3.距离(enemyTransform.position,playerTransform.position)

大致相同,但知道它存在的其他方式很好。

谢谢,我会尝试。我是否应该将玩家命名为“其他”以便它知道跟随玩家?
var distVal=5.0f;        
if (Vector3.Distance(enemyTransform.position, playerTransform.position) < disVal)
            {
                Debug.Log("Enemy following you");
            }