我是AS3的新手,我正试图获得一个先进的库存系统。我有3个玩家和3个类别:PlayerStats1
, PlayerStats2
和PlayerStats3
。在每个类中都有一个数组。这个数组包含每个玩家的库存。这些数组都命名为inventory
。我还有一个变量来决定打开谁的库存。这个变量就叫做turn
。现在,如果我想找出并显示Player2的库存槽5 (PlayerStats2.inventory
中的第五个值)中的内容,该怎么办?我该如何用一个简单的代码来做到这一点呢?比如gotoAndStop(PlayerStat + turn.inventory[4]);
。当然,代码可能看起来比这大得多。
下面是一个例子
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 = [];
}