PDA

Просмотр полной версии : управление мувиклипом из флекса


Чайница
12.04.2008, 10:21
Наверное, буду банальна, но все же

Есть флешка с анимацией, и есть флексовый файл, в который загружается флешка. Возможно ли управление проигрыванием и передача данных с помощью флекса?

DarkLight
12.04.2008, 12:13
Если флешка <9 версии, то через LocalConnection. Если 9ой версии, то после окончания загрузки можно общаться напрямую

Чайница
13.04.2008, 00:46
не работает :(


package {
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.net.URLRequest;

public class test extends MovieClip
{
public function test()
{

var loader:Loader = new Loader;
addChild(loader);
var request:URLRequest = new URLRequest("wheel.swf");
loader.load(request);
loader.addEventListener(MouseEvent.CLICK, onCl);

function onCl():void
{
this.gotoAndStop(1);
}
}
}
}

DarkLight
13.04.2008, 03:36
content property

Contains the root display object of the SWF file or image (JPG, PNG, or GIF) file that was loaded by using the load() or loadBytes() methods.
Соответственно, обработчик надо вешать на content.

Чайница
13.04.2008, 12:45
Хм. а можно чуток поподробнее? А то моя чайная крышка вскипела, а результатов ноль :)

Чайница
13.04.2008, 20:12
Спасибо, проблема решена путем лазанья по форуму, документации и экспериментов над многострадальной флешкой.

hartec
08.02.2010, 20:47
Пожалуйста, кто-нибудь вставьте кусок любого Вашего кода, в котором реализована загрузка Embed SWF и доступ к методам типа gotoAndStop()/gotoAndPlay().

Добавлено через 26 минут
Так не ругается, но и не работает:
private var palka:MovieClip;
[Embed(source="palka.swf")] public static var palkaClass:Class;
...
palka = new palkaClass();
addChild(palka);
...
palka.stop();

Добавлено через 1 час 40 минут
Прошу прощения, у меня получилось. Код такой:
private var loader:Loader;
[Embed(source="palka.swf", mimeType="application/octet-stream")] public static var palkaClass:Class;
...
var palka2:* = new palkaClass();
loader = new Loader();
loader.loadBytes(palka2);
addChild(loader);
palka.contentLoaderInfo.addEventListener(Event.COMPLETE, initSwf);
...
private function initSwf(event:Event):void {
MovieClip(loader.contentLoaderInfo.content).gotoAndStop(2);
}