【问题标题】:Can't access class variables through array of objects (unityscript/Unity)无法通过对象数组访问类变量(unityscript/Unity)
【发布时间】:2013-08-25 01:16:11
【问题描述】:

这是我的课

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 的语法。

【问题讨论】:

    标签: unity3d unityscript


    【解决方案1】:

    您可能会发现此 Wiki 页面很有帮助:Which Kind Of Array Or Collection Should I Use?

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

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

    您可以考虑改用List<>,原因请参见 wiki 页面。

    【讨论】:

    • 好的,谢谢。我是一个刚刚进入 Javascript 的 c++ 编程。很多在 C++ 中很简单的东西被证明需要更多的工作。
    猜你喜欢
    • 2016-06-30
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多