Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   как работает флеш в браузере? (http://www.flasher.ru/forum/showthread.php?t=202272)

Akopalipsis 06.07.2013 18:53

как работает флеш в браузере?
 
Дело вот в чем - swf + html + js.
При заходе на страницу грузится флеш - контейнер, в который грузится основная флеш, которая передает сообщение о своей инициализации в яву.
Ява считывает адресную строку ( все что после # ) и передает во флеш. Во флеше вызывается событие, в месте с которым передается эта строка. Поставил вывод в консоль на каждом этапе. По трейсам все хорошо, но на деле изменений во флеше не происходит. После пол дня, мне в голову приходит только одно - может ли быть это из - за того, что в контейнере не обновилась основная флеш? То есть она обновилась и послала сообщение в консоль, но флеш-контейнер каким то образом не заметил это?)

Tails 06.07.2013 19:17

Вы что хотите сделать?

Akopalipsis 06.07.2013 19:19

Добавил ещё проверку на строгое равенство и вывод текста на экран...
Код AS3:

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;
                        }
                }

вывод в консоль:
Код AS3:

blue/
blue/
job

то есть и текст на экран выводит и показывает ссылку, и строгое иф показывает, что интерпретация правильная. Но цвет не меняет...Вот что думать?

iNils 06.07.2013 19:19

1. ЯваСкрипт и Ява это совершенно два разных языка.
2. Ваше описание, без исходников, бесполезно.

Akopalipsis 06.07.2013 19:21

Цитата:

Вы что хотите сделать?
Общению учусь. SWFAddressEvent - это не тот, который готовый. Просто назвал также...

Цитата:

1. ЯваСкрипт и Ява это совершенно два разных языка.
Да...
Цитата:

2. Ваше описание, без исходников, бесполезно.
Вот все, что есть...Только понять там будет не просто)
Если просто зайти и нажимать кнопки, то все нормально. Если зайти, перейти в другой раздел, скопировать ссылку, затем опять перейти в другой раздел и вставить скопированную ссылку - то тоже все хорошо. Но если зайти с самого начала по этой ссылке, то результат выполнения кода виден, как по трейсам из консоли, так и на самом экране ( отображение текстфилда ) но цвет при этом не меняется.

Если вывод в консоль поставить в самом switch, то показывает, что код даже там выполняется...

Добавлено через 5 минут
Справился! С самого начала я класс закрашивал а при изменении цвета вызывал clear(), а так как при входе по ссылке с якорем класс не успевал закрашиваться, то и клер видимо тоже не работал)


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

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