0

我对 AS3 还很陌生,并且正在尝试建立一个先进的库存系统。我有 3 个玩家和 3 个班级:PlayerStats1PlayerStats2PlayerStats3。在每个这些类中,我都有一个数组。该数组包含每个玩家的库存。数组都命名为inventory. 我还有一个变量来确定打开谁的库存。这个变量只是被调用turn. 现在,如果我想找出并显示 Player2 的库存槽 5(中的第五个值PlayerStats2.inventory)中的内容怎么办?我将如何使用简单的代码来做到这一点?类似的东西gotoAndStop(PlayerStat + turn.inventory[4]);。当然,代码看起来可能比这大得多。

4

1 回答 1

0

这是一个例子

class A {

    private var playDict:Dictionary = new Dictionary();

    public function addPlayer(playerId:int, player:PlayStats):void {
         playDict[playerId] = player;
   }

   public function getInventory(playerId:int, invertoryIndex:int):Object {
        var player:PlayStats = playDict[playerId] as PlayStats;

        if (player) {
           if (player.inventory) {
               return player.inventory[invertoryIndex];
           } else {
               return null;
           }
        } else {
            return null;
        }
   }

}

PlayStats 是 PlayStats1、PlayStats2、PlayStats3 的基类。PlayStats1、PlayStats2、PlayStats3 可以将目标对象添加到自己的目录中

public class  PlayStats {

   public var inventory:Array = [];
}
于 2013-06-17T01:20:01.277 回答