将 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。