【问题标题】:Referencing Numbered Variables and Arrays引用编号变量和数组
【发布时间】:2013-06-12 20:30:34
【问题描述】:

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

【问题讨论】:

  • 插槽号 5 : my_array[5] 是数组的第六个值。第一个编号为 0。
  • 我忘记了。谢谢。

标签: arrays string actionscript-3 class actionscript


【解决方案1】:

这是一个例子

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 = [];
}

【讨论】:

  • 我真的是 AS3 的新手。我是否必须为此开设一个新课程?我不知道这段代码中发生了什么。我有一个影片剪辑,显示库存槽中的项目。每个项目都有一个添加到库存数组的编号。我需要此影片剪辑转到与谁的库存中的第五个数字相等的帧,以便更具体。
  • 你的意思是 PlayStats1、PlayStats2、PlayStats3 各有 5 帧,你想要一个函数让其中一个转到目标帧吗?
  • PlayStats1、PlayStats2 和 PlayStats3 都是单独的类。我将有多个影片剪辑,但现在我专注于库存槽 5 的影片剪辑。影片剪辑内部是一堆帧。每个框架都有一个对象的插图。这个电影剪辑应该能够找到轮到谁了,然后找到第五个库存槽中的任何东西,然后转到它。
猜你喜欢
  • 2012-06-24
  • 2015-09-02
  • 2021-07-27
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
  • 1970-01-01
相关资源
最近更新 更多