将 GameObject 添加到 class 中的列表时出错
Error adding GameObject to list in class
我在将 GameObject
添加到 List<>
时遇到问题。当我构建此程序时,poolInstances.Add(clone)
中发生错误:
Error: List.Add(RecyclingGameObject) has some
invalid arguments.
错误也出现在 return clone;
行:
Error: Cannot implicitly convert Gameobject to RecyclingGameObject
这是我的代码:
using System.Collections;
using System.Collections.Generic;
public class ObjectPool : MonoBehaviour {
public RecyclingGameObjects prefabs;
private List<RecyclingGameObjects> poolInstances = new List<RecyclingGameObjects();
private RecyclingGameObjects createInstance(Vector3 pos){
var clone = GameObject.Instantiate (prefabs) as GameObject ;
clone.transform.position = pos;
clone.transform.parent = transform;
poolInstances.Add (clone);
return clone;
}
}
替换
var clone = GameObject.Instantiate (prefabs) as GameObject ;
和
var clone = GameObject.Instantiate (prefabs) as RecyclingGameObjects;
因为您将列表声明为 RecyclingGameObjects
,并且 List<RecyclingGameObjects> poolInstances
,要添加到列表中的对象类型必须是 RecyclingGameObjects
对象类型,而不是 GameObject。
我在将 GameObject
添加到 List<>
时遇到问题。当我构建此程序时,poolInstances.Add(clone)
中发生错误:
Error: List.Add(RecyclingGameObject) has some invalid arguments.
错误也出现在 return clone;
行:
Error: Cannot implicitly convert Gameobject to RecyclingGameObject
这是我的代码:
using System.Collections;
using System.Collections.Generic;
public class ObjectPool : MonoBehaviour {
public RecyclingGameObjects prefabs;
private List<RecyclingGameObjects> poolInstances = new List<RecyclingGameObjects();
private RecyclingGameObjects createInstance(Vector3 pos){
var clone = GameObject.Instantiate (prefabs) as GameObject ;
clone.transform.position = pos;
clone.transform.parent = transform;
poolInstances.Add (clone);
return clone;
}
}
替换
var clone = GameObject.Instantiate (prefabs) as GameObject ;
和
var clone = GameObject.Instantiate (prefabs) as RecyclingGameObjects;
因为您将列表声明为 RecyclingGameObjects
,并且 List<RecyclingGameObjects> poolInstances
,要添加到列表中的对象类型必须是 RecyclingGameObjects
对象类型,而不是 GameObject。