Unity气球爆破项目:如何设置GameObject生成数量并停止生成
限制气球生成数量的实现方案
要实现生成指定数量气球后停止的功能,只需添加计数变量和数量判断逻辑即可,具体修改如下:
新增两个变量:
- 公共变量
maxBalloonCount:用于设置最大生成数量(5、10、20等),可直接在Unity编辑器中调整数值 - 私有变量
currentBalloonCount:记录当前已生成的气球数量
- 公共变量
在生成逻辑前增加判断:仅当当前生成数小于最大数量时,才执行生成操作
每次成功生成气球后,将计数器加1
修改后的完整代码:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnScript: MonoBehaviour { public Transform[] spawnPoints; public GameObject[] balloons; public float spawnTime = 0f; float spawnTimeLeft = 0f; // 新增:设置最大生成数量,可在编辑器中调整 public int maxBalloonCount = 5; // 新增:记录当前已生成的气球数量 private int currentBalloonCount = 0; void Update() { // 先判断是否已达最大生成量,未达则继续生成逻辑 if (currentBalloonCount < maxBalloonCount) { if (spawnTimeLeft >= spawnTime) { int randBalloon = Random.Range(0, balloons.Length); int randSpawnPoint = Random.Range(0, spawnPoints.Length); Instantiate(balloons[randBalloon], spawnPoints[randSpawnPoint].position, transform.rotation); // 生成后计数器加1 currentBalloonCount++; spawnTimeLeft = 0f; } else { spawnTimeLeft += Time.deltaTime; } } } }
关键说明:
maxBalloonCount设为公共变量后,无需修改代码就能在Unity Inspector面板中调整生成数量- 当
currentBalloonCount等于maxBalloonCount时,Update中的生成逻辑会自动停止 - 如果需要重置生成(比如游戏重新开始),只需将
currentBalloonCount重置为0即可
内容的提问来源于stack exchange,提问作者Othello DR
相关产品推荐
相关产品推荐

