unity3d - InvokeRepeating 生成太多游戏对象
问题描述
我在 Unity 中使用 Invoke Repeating 方法,该方法应该每两秒生成一个多维数据集,但是一旦经过一秒,就会生成许多多维数据集。我该如何解决这个错误?
public class BallsGenerator : MonoBehaviour
{
public GameObject cube;
// Update is called once per frame
void Update()
{
InvokeRepeating("generateCube", 1.0f, 2.0f);
}
private void generateCube()
{
Vector3 genPosition = new Vector3(Random.Range(-111, 823), 728, 378);
Quaternion startRotation = new Quaternion(Random.Range(-180, 180), Random.Range(-180, 180), Random.Range(-180, 180), 0);
Instantiate(cube, genPosition, startRotation);
}
}
解决方案
你开始一个新的每一InvokeRepeating
帧Update
!
因此,一旦延迟第一次通过,您将每帧获得一个对象;)
你宁愿只做一次,例如
private void Start()
{
InvokeRepeating("generateCube", 1.0f, 2.0f);
}
private void generateCube()
{
Vector3 genPosition = new Vector3(Random.Range(-111, 823), 728, 378);
Quaternion startRotation = new Quaternion(Random.Range(-180, 180), Random.Range(-180, 180), Random.Range(-180, 180), 0);
Instantiate(cube, genPosition, startRotation);
}
推荐阅读
- javascript - 如何在 React 中从非 React 库中渲染 div 对象?
- git - 将分支恢复到旧位置的最佳方法是什么?
- xml - 修改python-docx中paragraph.style._element.xml中的XML
- javascript - 我想使用 document.getElementByID 自动填充网络表单,但是每当我返回网站时,ID 都会不断变化
- sql - 如何列出 Teradata 中所有定义的宏?
- laravel-5.8 - 如何扩展 FaCuZ/laravel 主题中的布局?
- javascript - 将子组件中的文本字段链接到 VueJS 中父组件的道具
- android - 可以在打印 logcat 之前获取日志吗?
- kubernetes - 在 helm kubernetes 中使用 secret 存储敏感数据
- css - 反应原生弹性和宽度百分比不同