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

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

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

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Question as2 внутри as3 глючит, работает частично. Как бороться?

Доброго вам, уважаемые flash-самураи!
Есть вот задачка написать универсальную листалку на as3, которая могла бы воспроизводить и as2 и as3 флешки. LocalConnection прекрасно работает, они дружат но вот незадача:

Первая запущенная swf - работает 100% правильно, вторая - через раз, третья - работает из рук вон плохо, глючит, реагирует частично и в целом ведет себя непристойно. Причем не зависимо от контента и порядка запуска. Почему так может происходить? Механизм такой:
Сначала они все грузятся в URLLoader, затем Loader.loadBytes(URLLoader.data) - для открытия, и Loader.unloadAndStop() для закрытия.

Пробовал с помощью LocalConnection внутрь флешки с as2 контентом из листалки посылать команду отчистить все (перейти на пустой кадр), но это не помогает. Есть ли какое-то решение?

Код AS3:
private function deselectPage(index:Number)
{
	var page:Object = pages[index];
	page.loader.unloadAndStop();
}
 
private function selectPage(index:Number)
{
	var page:Object = pages[index];
	page.loader.loadBytes(page.urlLoader.data)
}

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
А LC-то закрываете?
А почему грузятся байты, а не сразу Loader#load?

А, кстати. Вы надеюсь в дочерний аппдомен грузите? Скорее всего конфликт какой.

Старый 11.02.2011, 20:54
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 3  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А LC-то закрываете?
Опа... А надо? =) А где его закрывать? В скаченном swf? Но в любом случае, ситуация с глюками есть и с использованием LC и без него.
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А почему грузятся байты, а не сразу Loader#load?
Потому что нужно чтобы "страницы" болтались в кэше и можно было их повторно запускать и закрывать, но при этом они не грузили оперативку и процессор своим контентом.
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А, кстати. Вы надеюсь в дочерний аппдомен грузите? Скорее всего конфликт какой.
Пока все вообще происходит с локалхоста на локалхост. И потом, первый скаченный файл всегда работает отлично.

Старый 11.02.2011, 21:03
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Вы путаете ApplicationDomain и DNS. )

Старый 11.02.2011, 21:09
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 5  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Вы путаете ApplicationDomain и DNS. )
хм... *ушел читать документацию*

Старый 11.02.2011, 22:18
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 6  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Делал как-то контейнер на AS3, который грузит в себя несколько произвольных флешек AS2. Большая головная боль. Решение нашлось в использовании специализированного загрузчика флешек на AS2 - ForcibleLoader. Поищите тут по этому слову, тут было.

Да, и грузить обязательно в разные домены.

Старый 14.02.2011, 15:53
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 7  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Цитата:
Сообщение от mikhailk Посмотреть сообщение
Делал как-то контейнер на AS3, который грузит в себя несколько произвольных флешек AS2. Большая головная боль. Решение нашлось в использовании специализированного загрузчика флешек на AS2 - ForcibleLoader. Поищите тут по этому слову, тут было.
Нашел ForcibleLoader тут. Но честно говоря не понял как он работает. Я сделал все как в примре, а скрипт внутри swf вообще не работал. Флешка воспринималась как мультик.

Цитата:
Сообщение от mikhailk Посмотреть сообщение
Да, и грузить обязательно в разные домены.
Качаю в разные домены так:
Код AS3:
var context:LoaderContext = new LoaderContext()
context.applicationDomain = new ApplicationDomain()
private_loader.loadBytes(urlLoader.data,context);
Но это ничего не меняет.

Судя по всему проблема не в скачивании (потому что сначала все работает нормально, а глючит со временем), а в ‘выгружании’, выключении. Как правильно выгружать? Может внутри as2 можно это сделать?

Старый 18.02.2011, 18:45
Frankie Wilde вне форума Посмотреть профиль Отправить личное сообщение для Frankie Wilde Найти все сообщения от Frankie Wilde
  № 8  
Ответить с цитированием
Frankie Wilde

Регистрация: Jul 2007
Сообщений: 15
Почему настолько принципиально использовать AS2?

Старый 18.02.2011, 18:50
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 9  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Использовать AS2 принципиально потому, что уже на сегодняшний день существует много AS2 контента, который нужно раместить в AS3 контейнере.

Вопрос все еще открыт, глюки никуда не делись. Но я заметил одну интересную вещь, если добавить в as2 развороты трейсы, то в одном и том же месте будут разные результаты:
В первом загруженном файле трейс такой:
Код AS3:
_root.AVM1_container.instance39.mc0.mc5.mc6.mc8.mc_image0.mc12 .mc13
Однако во второй раз, в том же месте трейс выглядит вот так:
Код AS3:
_level0.instance1.instance3.instance5.instance10370.instance10369.instance10371.AVM1_container.instance39.mc0.mc5.mc6.mc8.mc_image0.mc12 .mc13
То есть трейсятся все родительские клипы, включая клипы, созданные в AVM2. И именно в этот момент начинаются глюки. Например, в такой клип не хочет загружается картинка... Просто MovieClipLoader не срабатывает и ничего не делает.
Почему так может происходить?
И кстати, счетчик, который добрался до 10370 номера, учитывает клипы созданные внутри AVM1.

Старый 18.02.2011, 19:28
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 10  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Прочитал ForcibleLoader, умилился с паранойи автора:
Код AS3:
var loader:Loader = Loader(addChild(new Loader()));
Меня очень радует, что флэш стал позволять такие фокусы. Когда Andre Michelle реализовал генерацию звука через побайтную сборку swf, это был шок.
__________________
тонкий тролль, осеянный благодатью

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

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

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


 


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


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