AS3使用工人

时间:2015-11-04 16:02:12

标签: actionscript-3 flash air flash-cs6 worker

  • IDE:FLASH CS6 Professional
  • SDK:适用于Android的AIR 18

我正在尝试将Workers用于我的应用。 问题是,它假设不起作用。

public class Main extends Sprite {

    private var worker:Worker;

    public function Main() {            

        var ba:ByteArray = this.loaderInfo.bytes;

        if(Worker.current.isPrimordial){
            worker = WorkerDomain.current.createWorker(ba);             
            worker.start();
            trace("Created Main");
        }else{
            trace("Created Worker");
        }
    }
}

应输出

Created Main
Created Worker

但我只是

[SWF] Test.swf - 2831 bytes after decompression
Created Main
[UnloadSWF] Test.swf
Test Movie terminated.

修改

好的,我尝试发布应用程序并运行它。它的工作原理应该如此。但是当我尝试使用Adobe Debug Launcher运行它时,为什么它不起作用?

这就是Android Debug Launcher(ADL)上的样子

ADL

这就是发布时的样子。

Published

编辑2:

Flash Professional CC 2015尝试了。升级到AIR SDK 19.0.0.213。 结果仍然相同。多么痛苦Adobe。

3 个答案:

答案 0 :(得分:0)

它应该可以使用,但Flash Pro CS6不会显示工作人员的trace语句。检查flashlog.txt或通过MessageChannel将工作人员的消息发送到主SWF。

答案 1 :(得分:0)

我做了一个lib来支持使用Workers,如果你想使用你可以在GitHub中检查它,它是开源项目..希望帮助ASWorker Link

实施就像这样

float

祝福工人好运

答案 2 :(得分:0)

Air 20.0.0.204 ADL也没有享受与工作人员相关的任何事情(来自我的有限实验),但桌面Flash Player似乎工作正常。当您在项目中使用Air特定库并且不喜欢通配符变量类型时,这会使调试变得复杂且有问题。