Просмотр полной версии : как работает флеш в браузере?
Akopalipsis
06.07.2013, 18:53
Дело вот в чем - swf + html + js.
При заходе на страницу грузится флеш - контейнер, в который грузится основная флеш, которая передает сообщение о своей инициализации в яву.
Ява считывает адресную строку ( все что после # ) и передает во флеш. Во флеше вызывается событие, в месте с которым передается эта строка. Поставил вывод в консоль на каждом этапе. По трейсам все хорошо, но на деле изменений во флеше не происходит. После пол дня, мне в голову приходит только одно - может ли быть это из - за того, что в контейнере не обновилась основная флеш? То есть она обновилась и послала сообщение в консоль, но флеш-контейнер каким то образом не заметил это?)
Akopalipsis
06.07.2013, 19:19
Добавил ещё проверку на строгое равенство и вывод текста на экран...
private function changeHandler( e : SWFAddressEvent ):void
{
Console.console( e.path );
var t : TextField = new TextField();
t.text = e.path as String;
addChild( t );
if ( e.path === 'blue/')
{
Console.console( 'job' );
}
switch ( e.path )
{
case '/':
this.graphics.clear();
this.graphics.beginFill( 0xDAF00F );
this.graphics.drawRect( 0 , 0 , stage.stageWidth , stage.stageHeight );
this.graphics.endFill();
break;
case 'orange/':
this.graphics.clear();
this.graphics.beginFill( 0xFFAE5E );
this.graphics.drawRect( 0 , 0 , stage.stageWidth , stage.stageHeight );
this.graphics.endFill();
break;
case 'blue/':
this.graphics.clear();
this.graphics.beginFill( 0x9797CC );
this.graphics.drawRect( 0 , 0 , stage.stageWidth , stage.stageHeight );
this.graphics.endFill();
break;
}
}
вывод в консоль:
blue/
blue/
job
то есть и текст на экран выводит и показывает ссылку, и строгое иф показывает, что интерпретация правильная. Но цвет не меняет...Вот что думать?
1. ЯваСкрипт и Ява это совершенно два разных языка.
2. Ваше описание, без исходников, бесполезно.
Akopalipsis
06.07.2013, 19:21
Вы что хотите сделать?
Общению учусь. SWFAddressEvent - это не тот, который готовый. Просто назвал также...
1. ЯваСкрипт и Ява это совершенно два разных языка.
Да...
2. Ваше описание, без исходников, бесполезно.
Вот все, что есть...Только понять там будет не просто)
Если просто зайти и нажимать кнопки, то все нормально. Если зайти, перейти в другой раздел, скопировать ссылку, затем опять перейти в другой раздел и вставить скопированную ссылку - то тоже все хорошо. Но если зайти с самого начала по этой ссылке, то результат выполнения кода виден, как по трейсам из консоли, так и на самом экране ( отображение текстфилда ) но цвет при этом не меняется.
Если вывод в консоль поставить в самом switch, то показывает, что код даже там выполняется...
Добавлено через 5 минут
Справился! С самого начала я класс закрашивал а при изменении цвета вызывал clear(), а так как при входе по ссылке с якорем класс не успевал закрашиваться, то и клер видимо тоже не работал)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.