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

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

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

Регистрация: Feb 2010
Сообщений: 23
По умолчанию Внешний SWF

Добрый день!

Существует проект на AS3 в него пытаюсь загрузить внешние SWF. Всё загружается хорошо, но почему то не выполняется код на таймлейне вложенных в эту SWF клипов.

LoadedSWF (MovieClip)
- Clip1 на кадре 1
- Clip2 на кадре 4

В первых кадрах Clip1 и Clip2 стоит trace('success');
И после загрузки и добавления к stage почему-то второй trace не срабатывает. (В общем как и любой другой код). Ошибок тоже нет. Если Clip2 передвинуть на первый кадр то trace в нём заработает.

Добавлять пробовал и так
Код AS3:
private function onCompleteHandler(loadEvent:Event):void
{
	var tempClip:MovieClip = loadEvent.currentTarget.content;
        addChild(tempClip)
 
}
И положить всё в один большой клип Main и уже его добавлять:

Код AS3:
private function onCompleteHandler(loadEvent:Event):void
	var tempClip:MovieClip = loadEvent.currentTarget.content;
 
	var ClassDefinition:Class = tempClip.loaderInfo.applicationDomain.getDefinition("Main") as Class;
        var _currentClip:MovieClip = new ClassDefinition();
        addChild(currentClip);
}
Повторю что сами клипы загружаются и анимация в них работает, только код нет

Проект в FalshDevelop использую Flex SDK 4.6 с AIR 3.9, под плеер 11.5

Спасибо!

Старый 01.12.2013, 11:58
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 2  
Ответить с цитированием
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Суть проблемы описана сумбурно, но думаю что решение в следующем:
1)
Код AS3:
private function onCompleteHandler(loadEvent:Event):void
здесь я так понимаю вы слушаете событие, приходящее от LoaderInfo, соотв. и loadEvent.currentTarget также будет являться экземпляром класса LoaderInfo. Обращаться к загруженному мувиклипу нужно как loadEvent.currentTarget.loader.content
2) В загружаемых клипах ВСЕГДА ставьте листенер на Event.ADDED_TO_STAGE и по этому событию - уже начинайте выполнение своего кода. В противном случае вы не можете предсказать момент, когда код в загружаемом мувике начнёт выполняться!

p.s. И вообще код на таймлайне, тем более вложенных мувиков - очень очень ненадёжный вариант. Лучше не ленитесь - делайте классы для мувиков, в которых нужен какой то код, сложнее чем stop() и gotoAndPlay()

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

Теги
external swf , loader as3

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

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


 


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


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