|
实现法式
- 首先,我们需要在场景中创建一个仇敌和一个玩家,并将它们分袂定名为”Enemy”和”Player”。
- 然后,我们需要为仇敌添加一个脚本,该脚本将使仇敌跟随玩家。
- 在脚本中,我们需要使用Vector3.MoveTowards方式来使仇敌向玩家移动。该方式将使仇敌朝着玩家的位置移动,而且可以设置一个速度参数来控制仇敌的移动速度。
- 我们还需要添加一个触发器组件到仇敌的游戏对象上。当仇敌与玩家接触时,该触发器将触发一个事件,使仇敌遏制移动。
- 最后,我们需要编写一些代码来检测仇敌是否与玩家接触。如果接触,则遏制仇敌的移动。
代码示例
以下是完整的代码示例:- using UnityEngine;
- public class EnemyController : MonoBehaviour
- {
- public Transform player;
- public float speed = 2.0f;
- public float stoppingDistance = 1.0f;
- private void Update()
- {
- // 让仇敌向玩家移动
- transform.position = Vector3.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
- // 如果仇敌与玩家接触,遏制移动
- if (Vector3.Distance(transform.position, player.position) < stoppingDistance)
- {
- speed = 0;
- }
- }
- }
复制代码 在以上代码中,我们首先定义了一个公共变量”player”,该变量将存储玩家的位置。然后,我们定义了一个”speed”变量,用于控制仇敌的移动速度。接着,我们定义了一个”stoppingDistance”变量,该变量将用于检测仇敌是否与玩家接触。
在Update函数中,我们使用Vector3.MoveTowards方式来使仇敌向玩家移动。我们还使用Vector3.Distance方式来检测仇敌是否与玩家接触。如果仇敌与玩家接触,则将速度设为0,从而遏制仇敌的移动。
以上就是在Unity中让仇敌跟随玩家并在接触玩家时遏制移动的方式,但愿对你有所辅佐。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|