首先我们创建一个空物体GameObject产怪点改名为Enemypoint,这个点是敌人出现的位置。我们首先在空物体里面的transform组件中重置这个点的位置为0,并且给这个点设置一个颜色,方便找到这个点。如果给这个点设置一个位置,修改它的transform的xyz位置,或者在场景里面拖到到对应的位置。
然后把设置好的敌人设置成预制体,拖到预制体文件夹去。再创建一个空物体GameObject用来管理敌人改名为EnemyManager。创建脚本,挂载到EnemyManager上。去编译脚本实现产怪效果。
代码实现:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyManager : MonoBehaviour { // Start is called before the first frame update //找到对象 public GameObject enemy; //产怪的时间 public float SpawnTime = 3f; //产怪点 public Transform[] spawnPoint; //玩家HP public PlayerHP PlayerHP; void Start() { //等待3秒,再每隔3秒产怪 InvokeRepeating("Spawn", SpawnTime, SpawnTime); } // Update is called once per frame void Spawn() { //玩家死亡停止产怪 if (PlayerHP.currentHP <= 0) { return; } int index=Random.Range(0,spawnPoint.Length); Instantiate(enemy, spawnPoint[index].position, spawnPoint[index].rotation); } }
编译脚本返回Unity挂载Public公开的组件。
图片实现:
上面代码顺序不一样,可能会导致运行出错,如需要得进行完整性使用,才能保证项目正常运行。如出错请认真检查并且通过调整看看是否能达到效果。如有更好的方法,请在下方留言!谢谢你的观看!!!
----------------------------------------------------------END-----------------------------------------------------------------