问题描述
我正在关注tutorial关于如何制造枪来射击子弹的信息,但出现此错误:
"当前不存在名称'ObjectPoolingManager' 上下文"
我完全按照教程学习,但我不知道为什么会发生这种情况。
这是我的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PL : MonoBehavIoUr {
public GameObject bulletPrefab;
public Camera playerCamera;
// Update is called once per frame
void Update() {
if (Input.GetMouseButtonDown(0)) {
GameObject bulletobject = ObjectPoolingManager.Instance.GetBullet(true);
bulletobject.transform.position = playerCamera.transform.position + playerCamera.transform.forward;
bulletobject.transform.forward = playerCamera.transform.forward;
}
}
}
解决方法
在您熟悉 Unity 和 C# 的基础知识之前,我不会太担心对象池。这是一种优化模式。在性能成为问题之前,我只会使用 GameObject.Instantiate(yourBulletPrefab)
和 GameObject.Destroy(yourBulletGameobject)
。
Unity 没有内置的对象池。你必须自己创造。你关注的教程忘记添加了。