0

名前付きのインベントリがあり、同じアイテムが追加されるにつれて名前が増える番号が必要です。

アイテムコード:

_root.player_inventory = new Array(_root.array);

for (a = 0; a < _root.invslots; a++)
{
    _root.player_inventory[a] = "none";
}

スタッキング コード:

_root.player_inventory[a] = new Array(_root.stackAmount);

for (b = 0; b < _root.stackAmount; b++)
{   
    _root.player_inventory[b] = 0;
    //player_inventory[a][b] = "[" + a + "][" + b + "]"; 

    //mainArrayTxt = "[" + a + "][" + b + "]"; 
    //b = 0;
}

私の商品コードは問題ありません。スタッキングを追加したいだけです。

ここに画像の説明を入力

このチュートリアルからコードを取得しました: http://www.newgrounds.com/portal/view/448642

4

1 に答える 1

0

これを行う 1 つの方法は次のとおりです。

アイテムコード:

_root.default_items = ["Food","Torch","Sword","Map","Hatchet"];

_root.player_inventory = new Array(_root.array);

for (a = 0; a < _root.invslots; a++)
//fill all inventory spots with "none"
{
    _root.player_inventory[a] = "none";

}

for (a = 0; a < _root.default_items; a++)
//set first spots to default items
{
    _root.player_inventory[a] = _root.default_items[a];
}

スタッキング コード:

_root.default_stack = [10,1,1,1,1];

for (b = 0; b < _root.player_inventory; b++)
//set the amount to default stack or 0
{   
    if(_root.player_inventory[b] != "none")
    {
       _root,player_inventory[b].push(_root.default_stack[b]);
    } else {
       _root,player_inventory[b].push(0);
    }

}

最終的に、_root.player_inventory 配列には次のような値が含まれます。

_root.player_inventory[0][0] returns Food
_root.player_inventory[0][1] returns 10

残念ながら、Flash のバージョンが古すぎるため、コードをテストすることはできませんが、これが一般的な考え方です。

于 2013-05-14T06:45:12.590 に答える