使用FlashDevelop / Flex在动作脚本3中加载多个图像的可接受方式

时间:2012-07-23 12:44:01

标签: image actionscript-3 flex flashdevelop

在工作中,我被要求制作一个基于网络的小型迷你游戏原型。

我沿着闪存路线前进,并使用Flash Develop with Flex SDK。

我还找到了一个图形框架,我可以使用它没问题,但我正在尝试让我自己的代码可以在以后重复使用。

我已经编写了一个小类来加载纹理列表,从加载前提供给类的名称开始。 <{3}}让问题简明扼要。

说实话,对于Flash / ActionScript,我不知道我在做什么,我一周前才开始使用它。

我想知道的是,我是否可以从更有经验的AS程序员的角度来接受我的尝试。闪存编码的做法真的很糟糕吗? flash处理垃圾回收吗?我应该关注{I}忽视的new Loader()来电吗?

1 个答案:

答案 0 :(得分:1)

首先将loader作为类的字段并重用它。然后添加错误监听器:

addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

您还应检查输入数据:

public function addImage(fname:String):void {
    if(fname && fname != "") array.push(fname);     
}

加载所有图像后,您应该“重置”加载器:

array = [];

如果您检查装载机的状态以防止出现不可预测的情况,那会更好:

public function beginLoad():void {
   if(state == ALREADY_LOADING) return;
   count = 0;
   loadImages(count);
}

ps不可变字段,例如loader, map, array标记const。这不是错误,但其他开发人员会知道这些字段是不可变的。