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 に答える