无法通过对象数组访问类变量(unityscript / Unity)

时间:2013-08-25 01:16:11

标签: unity3d unityscript

这是我的班级

public class ItemClass extends System.ValueType
{
    public var itemTexture : Texture2D;
    public var descriptionTexture : Texture2D;

    public function ItemClass (item:Texture2D, desc:Texture2D)
    {
        itemTexture = item;
        descriptionTexture = desc;
        //GUI.DrawTexture(Rect(179, 140, 200, 202), attHighlight4);
    }
}

这是我的数组

var Test = new ItemClass(Axe, AxeDescription);
public var itemArray = new ArrayList();
itemArray.Add(Test);

如果我尝试访问itemArray [0] .itemTexture Unity告诉我itemTexture不是'Object'的成员。

寻找访问itemTexture的语法。

1 个答案:

答案 0 :(得分:1)

您可能会发现此维基页面有用:Which Kind Of Array Or Collection Should I Use?

ArrayLists包含'对象'。当您从ArrayList中检索项目时,运行时或编译器不清楚该项目最初的类型。您需要提供有关该项目的更明确的类型提示,例如:

var myItem : ItemClass  = itemArray[0]
var myTexture           = myItem.ItemTexture

您可以考虑使用List<>,原因是维基页面中包含的原因。