Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2011, 13:01
mihafin вне форума Посмотреть профиль Отправить личное сообщение для mihafin Найти все сообщения от mihafin
  № 1  
Ответить с цитированием
mihafin

Регистрация: Apr 2011
Сообщений: 2
По умолчанию проблемы с мувиком загруженным из внешнего swf

Всем, привет!

Есть у меня swf файл, в котором есть символ (MovieClip) birdDamage
это 10 кадров с анимацией. в последнем кадре в AS указано stop();

если подгружаю мувик через loader, то AS в мувике отрабатывает и анимация останавливается (это необходимое мне поведние).
если подгружаю символ через Embed то анимация идет покругу и AS в кадрах не работает (пример ниже).

Вопрос, можно ли как то подгрузить символ из внешнего SWF используя Embed чтобы код в мувике (в кадрах) отрабатывал?
Возможно ли это вообще?

Спасибо!

Код AS3:
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);
		}
 
 
	}
 
}

Старый 09.04.2011, 20:16
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 2  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Не заэмбдится. Если есть возможность, используй as 3.0 и addFrameScript.
__________________
Нормально делай — нормально будет!

Старый 09.04.2011, 20:50
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
В таком виде эмбед удаляет код в символе. Добавьте stop() через addFrameScript или используйте бинарный эмбед swf и загрузите ее через Loader. На форуме неоднократно поднималось подобное обсуждение.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.04.2011, 00:19
mihafin вне форума Посмотреть профиль Отправить личное сообщение для mihafin Найти все сообщения от mihafin
  № 4  
Ответить с цитированием
mihafin

Регистрация: Apr 2011
Сообщений: 2
Спасибо за ответы.
Все понятно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.