PDA

Просмотр полной версии : Embed MovieClip


zorexundra
01.11.2012, 14:41
Здравствуйте! Подскажите, пожалуйста! Есть код:
[Embed(source="movie.swf")]
private var movie:Class;
public function Main():void
{
var myMovie:MovieClip = new movie() as MovieClip;
addChild(myMovie);
myMovie.play()
}
Клип на сцену помещается, но не проигрывается (myMovie.currentFrame==0). Что я делаю не так?

AlexLucas
01.11.2012, 16:06
Подгрузите её с помощью Loader (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html), а так вы не сможете никаких операций проводить с вашим swf. Вызов play() ничего не сделает в вашем случае.

GBee
02.11.2012, 08:51
а так вы не сможете никаких операций проводить с вашим swf
Это почему?

Что я делаю не так?
А как вы свф сделали?

AlexLucas
02.11.2012, 15:17
Т.е. если добавлять в проект локальные свф, не надо использовать Loader а лучше Embed, и можно будет творить с ними что угодно ?


[Embed(src="my.swf")]
public static var mySwf:Class;

private var mySwfInstance = new mySwf;
......
mySwfInstance.callAnyFunction();

GBee
02.11.2012, 16:35
Конечно.
Ну не лучше, а альтернатива. Либо грузи, либо уже все есть.

AlexLucas
02.11.2012, 17:32
Круто :) Тогда сори за дезинформацию.
А вот если есть конфиг файл со списком путей к нужным свф, в принципе возможно как-то в цикле заEmbed'ить их в рантайме?

djyamato
03.11.2012, 02:30
а SWFLoader не подойдет ?
Еще можно откомпиллить нужный swf в swc и подключать это в виде библиотеки, тогда уже и методы Вашего подключенного swc будут доступны

возможно как-то в цикле заEmbed'ить их в рантайме?
Думаю что нет
рантайм "происходит" после компилла
А Embed "происходит" во время компилла
Поправьте меня если я не прав

alatar
04.11.2012, 03:11
Сделайте эмбед с mimeType=application/octet-stream и грузите через Loader#loadBytes. При встраивании swf без указания mimeType весь его код игнорируется.