![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 2
|
Всем, привет!
Есть у меня swf файл, в котором есть символ (MovieClip) birdDamage это 10 кадров с анимацией. в последнем кадре в AS указано stop(); если подгружаю мувик через loader, то AS в мувике отрабатывает и анимация останавливается (это необходимое мне поведние). если подгружаю символ через Embed то анимация идет покругу и AS в кадрах не работает (пример ниже). Вопрос, можно ли как то подгрузить символ из внешнего SWF используя Embed чтобы код в мувике (в кадрах) отрабатывал? Возможно ли это вообще? Спасибо! package { import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.display.Sprite; import flash.display.Loader; import flash.display.LoaderInfo; import flash.net.URLRequest; import flash.events.*; public class Main extends Sprite { [Embed(source = '../lib/bird.swf', symbol = 'birdDamage')] private var BS:Class; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); loader.load(new URLRequest("../lib/bird.swf")); var mc:MovieClip = new BS(); mc.x = 100; addChild(mc); // ТАК РОЛИК ВОСПРОИЗВОДИТСЯ ПОКРУГУ БЕЗ УЧЕТА СКРИПТА В КАДРАХ :( } private function completeHandler(event:Event):void { var info:LoaderInfo = event.target as LoaderInfo; try { var a:Class = info.applicationDomain.getDefinition("birdDamage") as Class; addChild( new a() );// ТАК РАБОТАЕТ ПРАВИЛЬНО :) } catch (e:ReferenceError) { trace('ERROR: '+e); } } private function ioErrorHandler(event:IOErrorEvent):void { trace("ERROR: " + event); } } } |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Не заэмбдится. Если есть возможность, используй as 3.0 и addFrameScript.
__________________
Нормально делай — нормально будет! |
|
|||||
|
.
|
В таком виде эмбед удаляет код в символе. Добавьте stop() через addFrameScript или используйте бинарный эмбед swf и загрузите ее через Loader. На форуме неоднократно поднималось подобное обсуждение.
|
|
|||||
|
Регистрация: Apr 2011
Сообщений: 2
|
Спасибо за ответы.
Все понятно. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|