私は AS3 を初めて使用し、高度な在庫管理システムを導入しようとしています。私は 3 人のプレーヤーと 3 つのクラスを持っています: PlayerStats1
、PlayerStats2
、およびPlayerStats3
。これらの各クラス内には、配列があります。この配列には、各プレーヤーのインベントリが含まれています。配列にはすべて名前が付けられinventory
ます。また、誰のインベントリを開くかを決定する変数もあります。この変数は単に と呼ばれturn
ます。Player2 のインベントリ スロット 5 ( の 5 番目の値PlayerStats2.inventory
) に何があったかを調べて表示するにはどうすればよいでしょうか。簡単なコードでそれを行うにはどうすればよいですか? のようなものgotoAndStop(PlayerStat + turn.inventory[4]);
。もちろん、コードはおそらくそれよりもずっと大きく見えます。
質問する
68 次
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 に答える