团结敌人前进

亚当·桑乔

我在 Unity 上有一个敌人,敌人跟随玩家,当玩家处于特定距离时,我希望敌人不停地奔跑 X 个单位。这个想法是敌人跑,然后他累了,玩家可以从后面攻击他。

我如何才能让敌人不停地向前跑X距离呢?

穆姆斯

我如何才能让敌人不停地向前跑X距离呢?

取决于很多事情,在你的游戏中移动是如何处理的?是二维的吗?3D?等等。 ...

例如,如果您在 Enemy GameObject 上使用角色控制器(在 2D 中)

Vector2 moveDirection = Vector2.zero;
void Update(){
     CharacterController player = GetComponent<CharacterController>();
     if (player.isGrounded)
     {             
     // constantly move horizontally
     moveDirection.x = valuespeed;
     player.Move(moveDirection * Time.deltaTime);
     }
 }

这只是一些基本理论。对于 3D,您添加一个维度并使用当前的前向向量左右选择方向。

至于检查X值,你可以做的是在你的Enemy类中,当“运行模式”被触发时,你保存原点位置并在更新中检查CurrentPosition和Origin之间的距离(Vector3.Distance( ......)),只要距离小于X,你就让他跑。如果不是,则您未处于“运行模式”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章