c# - 在生成点实例化对象
问题描述
嘿伙计们,我是团结的初学者。我在实例化预制件时遇到问题。我的代码中的问题是在我单击任务面板中的接受按钮或任务已被接受后,对象将产生太多(无休止的循环,我不知道叫什么)。我成功地将对象生成到它们的对应点。如何一次生成多个预制件?我不确定是否要在更新方法上调用它。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SpawnFlower : MonoBehaviour {
public GameObject flowers;
public Transform[] spawnPoints;
public float spawnTime = 1.5f;
public int maxCount;
void Update() {
//InvokeRepeating ("SpawnFlowers", spawnTime, spawnTime);
if(QuestManager.questManager.RequestAcceptedQuest(1)) {
SpawnFlowers ();
}
}
public void SpawnFlowers() {
List<Transform> freeSpawnPoints = new List<Transform>(spawnPoints);
for (int i = 0; i < maxCount; i++) {
if (freeSpawnPoints.Count <= 0)
return;
int spawnIndex = Random.Range (0, freeSpawnPoints.Count);
Transform pos = freeSpawnPoints [spawnIndex];
freeSpawnPoints.RemoveAt (spawnIndex);
Instantiate (flowers, pos.position, pos.rotation);
}
}
}
解决方案
推荐阅读
- sql - 在 SQL Server 中选择以显示表 OnHand、Sale 和 Purchase 中的所有不同行,其中一个/或 Qty 字段不为空
- c++ - ffmpeg/Libavcodec 找不到编解码器
- vscode-extensions - vscode文件资源管理器复制/粘贴如何工作?
- javascript - DataTables 警告:表 id={id} - 请求行 {row-index}、列 {column-index} 的未知参数“{parameter}”
- java - 我需要一个循环来向用户询问 5 次 1 到 10 之间的数字
- java - 如何在 ListIterator(反向)迭代期间正确添加对象?
- r - 如何计算2个数据集分布之间的重叠
- javascript - 比较两个 JSONArray 并在 JAVASCRIPT 中获得差异
- javascript - 无法使用 worker-loader 创建 SharedWorker
- python - fillna() 不允许浮动值