我当前有一个工作线程成功加载外部 swf 文件。但是如何调用加载的 swf 文件中的函数呢?
这是位于外部 swf 文件中的类。
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.utils.ByteArray;
public class BackgroundProcesses extends Sprite {
public function BackgroundProcesses()
{
super();
}
public function EncryptTheImage(_imageToEncrypte:Bitmap):ByteArray
{
// Encrypted the image here
var _imageInEncryptedBytes:ByteArray = new ByteArray();
return _imageInEncryptedBytes;
}
}
}
这是我的 Flex Mobile mxml 文件:
import mx.events.FlexEvent;
protected function LoadWorkerSwfFile(event:FlexEvent):void
{
var workerLoader:URLLoader = new URLLoader();
workerLoader.dataFormat = URLLoaderDataFormat.BINARY;
workerLoader.addEventListener(Event.COMPLETE, loadComplete);
workerLoader.load(new URLRequest("BackgroundProcesses.swf"));
}
private function loadComplete(event:Event):void
{
var workerBytes:ByteArray = event.target.data as ByteArray;
var bgWorker:Worker = WorkerDomain.current.createWorker(workerBytes);
bgWorker.addEventListener(Event.WORKER_STATE, WorkerIsRunning);
bgWorker.start();
}
private function WorkerIsRunning(event:flash.events.Event):void
{
}
感谢任何帮助!
最佳答案
其他人可以纠正我,但我不认为你可以直接访问另一个 worker 的属性和方法,我也不认为你应该能够通过设计。相反,您应该在它们之间来回传递消息和数据以进行通信并发送/获取工作结果。
关于multithreading - AS3使用工作线程调用另一个swf文件中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27449723/