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 ответ

Кто-то другой может исправить меня, но я не думаю, что вы можете получить доступ к свойствам и методам другого работника напрямую, и при этом я не думаю, что вы предполагаете, что сможете это спроектировать. Вместо этого вы должны передавать сообщения и данные между ними, чтобы общаться и отправлять / получать результаты работы.

Это может помочь: общение между работниками

Другие вопросы по тегам