Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   АС3 в разных браузерах (http://www.flasher.ru/forum/showthread.php?t=148429)

hwarang 31.12.2010 02:21

АС3 в разных браузерах
 
Вот столкнулся с проблемкой, мож кто уже ее решал.

Идет загрузка флэшки, потом xml, потом проигрывание флэшки.

При тестировании ролика - все нормально, в файрфоксе - все отлично.
А в ИЕ и в Хроме - на загрузке xml останавливается и все, хоть убей. В ИЕ - если нажать обновить броузеру - продалжается проигрывание флэшки с уже загруженным xml

Tails 31.12.2010 04:34

Может разные браузеры используют разные флеш плееры, попробуйте обновить плеер в IE.

iNils 31.12.2010 05:22

Хорошим подспорьем в решение проблемы, будет ссылка, где можно будет все увидеть.

ShockWave512 31.12.2010 12:41

- при нажатии обновить - физически невозможно продолжение проигрывания, флешка в любом случае перегружается в браузер (из кеша или сайта) и всё начинается по новой

- как вы проверяете что загрузка хмл останавливается ? на какие события подписан загрузчик

- как дела в опере ?

- после загрузки хмл что за "проигрывание флешки" ? это метод ? что за принцип работы ?

hwarang 31.12.2010 13:47

Вот код лодера и запуска нужного контента.
На самом таймлайне 1-й фрейм - лодер, 2-й - лодер xml, и дальше уже контент.


Код AS3:

public function Main() {
 
                        // -------------------  Loading Page --------------------------
                        stage.scaleMode=StageScaleMode.NO_SCALE;
                        stage.align=StageAlign.TOP_LEFT;
                        trace(Lang);
                        addEventListener(Event.ENTER_FRAME, appLoadingHandler);
                                function appLoadingHandler( event:Event ):void {
                                        if (stage) {
                                                var bytesTotal = stage.loaderInfo.bytesTotal;
                                                var bytesLoaded = stage.loaderInfo.bytesLoaded;
                                                loadingMovie.gotoAndStop(Math.floor(bytesLoaded*100/bytesTotal));
                                                loadingMovie.loaderText.htmlText = varLoad + " " + Math.floor(bytesLoaded * 100 / bytesTotal) + "%"
                                                loadingMovie.loaderText.autoSize = TextFieldAutoSize.CENTER;
 
                                                if ( bytesLoaded >= bytesTotal) {
                                                        removeEventListener(Event.ENTER_FRAME, appLoadingHandler);
                                                        _root.play();
                                                        loaderXML();
                                                }
                                        }
                                }
                        }
 
public function loaderXML(IsContent:Boolean = false, isEnter:Boolean = false) {
                        var xmlURL:String = 'xml/'+ Lang +'/main.xml';
                        xmlLoader = new URLLoader();
                        //trace(isEnter);
                        xmlLoader.addEventListener(Event.COMPLETE, showXML);
                        xmlLoader.addEventListener(ProgressEvent.PROGRESS, traceLoaderXML);
 
                        xmlLoader.load(new URLRequest(xmlURL));
 
                        XML.ignoreWhitespace = true;
 
 
 
                        function traceLoaderXML(eventXML:ProgressEvent) {
 
                                pcentXML = int(eventXML.bytesLoaded / eventXML.bytesTotal * 100);
 
                                if (pcentXML==100) {
                                        trace("all");
                                        if(IsContent == true)
                                                updateScene(isEnter);
                                        else                                       
                                                _root.gotoAndPlay(3);
 
                                }
                        }
                        function showXML(e:Event):void {
                                websiteXML = new XML(e.target.data);
                                popupFunction();
                        }
                }
 
public function updateScene(isEnter:Boolean = false){
                                _root.futerMovie.gotoAndPlay(2);
                                if(isEnter == false){
                                        _root.linkPage = sceneNumButton;
                                        _root.upMenu.menuControll.controllMenu.gotoAndPlay(1);
                                        _root.allContent.play();
                                }
                                _root.logoMovie.gotoAndPlay(2);
                        }


iflamberg 31.12.2010 14:04

А где вас научили именнованую функцию внутри функции объявлять? Я даже не знаю, какая у неё область видимости получается %).

У вас дебаг-плееры установлены в броузерах? Ошибки выдают? Знаете, как трейсы читать, когда флешка в браузере выполняется? Я бы трейсов для начала расставил, чтобы посмотреть в каком конкретно месте ошибка лезет.

hwarang 31.12.2010 14:18

В опере работает просто отлично.

Я малость горе флешер ))))


Какие дебагеры посоветуете поставить? И как читать трейсы :rolleyes:

ShockWave512 31.12.2010 15:28

и сразу убрать слушатель с Event.ENTER_FRAME

лучше что нить типа Event.ADDED_TO_STAGE

код из фреймов перенести в класс документа

iflamberg правильно говорит, плюс вообще отказываться от функций в функциях и анонимных ... вложенность вредна

iflamberg 31.12.2010 15:42

Ну я FlashDevelop пользуюсь и FlexBuilder, там встроенные дебагерры.

Теперь насчет трейсов в браузере:
сначала нужно поставить дебаг-плееры. IE нужен activeX, ff и опера хотят plugin. Потом нужно исправить mm.cfg, и тогда трейсы будут сыпаться в flashlog.txt. Вот тут туторчик вменяемый.

hwarang 31.12.2010 17:07

спасибо - будем разбиратся )

думаю справимся )


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

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