unity3d - 在随机点放置敌人
问题描述
我担心这个问题很久了,以至于每次我跑的时候,我的敌人都会随机给我点数。我在对象上使用 DUPLICATE。例如,点形成球,如果我有更多的敌人,他们不想在道路点上正确显示。我的目标是让对象在启动时正确且随机地出现在点上。谢谢你的建议
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;
using Random = UnityEngine.Random;
public class Randomplace : MonoBehaviour {
public int minNumber =0;
public GameObject[] wayPoints;
public GameObject[] enemys;
Vector3 pos;
private List<int> _validNumbers;
private int number;
private void Awake()
{
_validNumbers = new List<int>();
for (int i = minNumber; i <= wayPoints.Length; i++)
_validNumbers.Add(i);
}
void Start()
{
for (int j=0; j<enemys.Length;j++) {
if(enemys[j].activeInHierarchy) {
enemys[j].SetActive(true);
number = GetRandomNumber();
GameObject waypoint = wayPoints[number];
Vector3 pos= waypoint.transform.position;
enemys[j].transform.position = pos; //places objects at random points
}
}
}
private void Update()
{
}
private int GetRandomNumber()
{
var nextIndex = Random.Range(0, _validNumbers.Count - 1); //
var result = _validNumbers[nextIndex];
_validNumbers.RemoveAt(nextIndex);
return result;
}
}
解决方案
推荐阅读
- url-rewriting - Typo3 9 口语 URL
- angular - 使用 ngx-barcode 在运行时生成条形码
- tensorflow - 使用 adj 列表在 Tensorflow 中构造 adj 矩阵
- dart - 更改文本样式扩展列表 Flutter
- java - 创建枚举查找。单个对象的多个键
- ios - 如何正确地为隐藏在 UITableViewCell 中的 UIStackView 设置动画?
- django - django rest注册api报错:此字段为必填项
- docker - 需要重启时如何修改在Docker中运行的Payara的配置
- apache-kafka - 在集群中清理 Kafka 主题
- java - 如何使用 JDBC 以安全模式(kerberos+ssl)连接配置单元?