Unity – 敌人AI;从玩家逃跑(x和y轴)

我需要一些帮助来为游戏中的敌人创建脚本!我正在制作一个2.5D游戏,玩家追赶露营者并试图杀死他们。我的游戏已经基本完成,但就是搞不定AI!我已经找了几天相关的脚本和帮助,但始终找不到与我的游戏其他部分兼容的解决方案…请帮帮我!

我的地面是一个在x轴上旋转了35度的平面,到目前为止效果还不错(移动角色和放置障碍物)。

目前我正在处理这个脚本;

#pragma strict//攻击按钮var attackButton : Joystick;var anim : Animator;var delay = 5.0;//玩家可以杀死var CanKill = false;//分数var scoreValue : int;var killValue : int;var playerControl : PlayerControl;//AIvar speed : int = 2;var Damp: float = 1.0;var isRun: boolean = false;var Target: Transform;var detectionRange: int = 5;private var character : CharacterController;function Start () {    anim = GetComponent("Animator");    var playerControlObject : GameObject = GameObject.FindWithTag ("Player");    character = GetComponent(CharacterController);}function WaitAndDestroy(){    yield WaitForSeconds(delay);        Destroy (gameObject);}function Update(){    //玩家可以杀死吗?    if (attackButton.tapCount == 1)        CanKill = true;    else CanKill = false;     //AI    var FromPlayer =  Vector3(Target.position.x - transform.position.x, 0);        if(FromPlayer.magnitude <= detectionRange){            isRun = true;        }        if(FromPlayer.magnitude >= detectionRange) {            isRun = false;        }        if(isRun) {            RunAway();            anim.SetBool("Walk", true);        }        else anim.SetBool("Walk", false);}function OnTriggerEnter (Other : Collider){    if(Other.gameObject.tag == "Player" && CanKill == true) {        playerControl.AddScore (scoreValue);        playerControl.AddKills (killValue);        anim.SetTrigger("Dead");        WaitAndDestroy();    }}function RunAway(){    var moveDirection : Vector3 = transform.position;    character.Move(moveDirection.normalized * speed * Time.deltaTime);}

这个脚本部分有效,但不知为何角色会在关卡中间停下来,然后原地跑步…我还希望当我(玩家)追上他并跑到他前面时,他能转身并朝另一个方向跑。(如果代码有点乱,我道歉,但我之前说过我对Javascript是新手)。


回答:

你希望露营者从玩家那里逃跑,对吗?那么你应该这样做

Vector3 moveDirection = transform.position - Player.transform.position

来获取他们应该逃跑的方向。然后使用你已经有的这行代码

character.Move(moveDirection.normalized * speed * Time.deltaTime);

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注