AS3 вызов метода в другом SWF-файле с использованием рабочих потоков
В настоящее время у меня есть рабочий поток, успешно загружающий внешний 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;
}
}
}
Вот мой mxml-файл Flex Mobile:
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
{
}
Любая помощь приветствуется!
1 ответ
Кто-то другой может исправить меня, но я не думаю, что вы можете получить доступ к свойствам и методам другого работника напрямую, и при этом я не думаю, что вы предполагаете, что сможете это спроектировать. Вместо этого вы должны передавать сообщения и данные между ними, чтобы общаться и отправлять / получать результаты работы.
Это может помочь: общение между работниками