我是AS3的新手,我正在尝试使用先进的库存系统。我有3个玩家和3个班级:PlayerStats1
,PlayerStats2
和PlayerStats3
。在这些类中,我有一个数组。此数组包含每个玩家的库存。这些数组都命名为inventory
。我还有一个变量来确定哪些库存已打开。这个变量叫做turn
。现在,如果我想找出并显示Player2的库存槽5中的内容(PlayerStats2.inventory
中的第五个值),该怎么办?我如何用简单的代码去做呢?像gotoAndStop(PlayerStat + turn.inventory[4]);
这样的东西。当然,代码看起来可能比那更大。
答案 0 :(得分: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 = [];
}