2013-08-25 60 views
0

的數組訪問類變量,這裏是我的類無法通過對象(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

你會發現這個wiki頁面有所幫助:Which Kind Of Array Or Collection Should I Use?

ArrayLists包含 '對象'。當你從ArrayList中取回你的項目時,運行時或編譯器不清楚該項目最初的類型。您需要提供一個更明確的暗示類型有關項目的,如下面:

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

您可以考慮使用List<>相反,蓋在維基頁面的原因。

+0

好的,謝謝。我是一個剛剛進入Javascript的C++編程。在C++中很多簡單的事情證明是更多的工作。 –