0

这是我的课

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 不是“对象”的成员。

寻找访问 itemTexture 的语法。

4

1 回答 1

1

您可能会发现此 wiki 页面很有帮助:我应该使用哪种类型的数组或集合?

ArrayLists包含“对象”。当您从 ArrayList 中取回您的项目时,运行时或编译器不清楚该项目最初是什么类型。您需要提供有关该项目的更明确的类型提示,如下所示:

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

List<>出于 wiki 页面中介绍的原因,您可能会考虑使用。

于 2013-08-25T01:26:57.117 回答