|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
После загрузки стороннего ролики, отображается копия основного
Салют!
Выручайте народ, ато я уже на плеер ругаться начинаю... Суть такова: нужно загрузить внешний ресурс (либо битмапу, либо другой ролик). Использую Loader. Если гружу картинку, тогда все ок. Если же ролик (неважно какой), тогда чтото грузится, а потом отобразается мой же глваный ролик внутри себя (он же в свою очередь тоже начинает процесс загрузки). Проверял что же грузится, используя URLLoader + Loader.loadBytes(). Судя по bytesTotal подгружается нужный мне ролик, но отображается все равно загрузчик. Тот же результат, если внедрять нужный ролик в загрузчик... Чтобы показать суть происходящего более наглядно, я сделал тестовое предложение. Оно рисует себе полупрозрачный фон и начинает загрузку внешнего ролика. Лоадер сжимается до 90% чтобы было заметно, как выстраиваются ролики. Также делаю трейс всех родительских контейнеров лоадера, вплоть до сцены. Прошу проверить мой ролик и отписаться о результатах. Может даже кто нибуть с таким сталкивался и знает в чем дело и что с этим делом делать... package { import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.URLRequest; /** * ... * @author elder_Nosferatu */ public class Main extends Sprite { public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point graphics.beginFill(0, 0.1); graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); graphics.endFill(); var ldr:Loader = new Loader(); ldr.scaleX = ldr.scaleY = 0.9; addChild(ldr); ldr.load(new URLRequest("data.dat")); trace("trace"); var parents:Array = []; var cont:DisplayObjectContainer = ldr; while (cont) { parents.push(cont.parent); cont = cont.parent; } trace(parents.join("->")); } } } trace [object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> trace [object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Loader]->[object Main]->[object Stage]-> ... |
|
|||||
Скорее всего...
Но это не первый мой прелоадер, а главный класс у меня всегда Main. Добавлено через 8 минут Черт возьми! Вы были правы . У меня небыло никогда таких проблемм из за того, что все прелоадеры, которые я до этого делал делались во Флеше. А там у меня класс документа всегда совпадает с названием фла-файла (Index.swf). Жаль что карму убрали. Вот такие замечания стоят больше чем развернутый ответ на тривиальный вопрос. Большое спасибо!!! |
|
|||||
Для этих случаев есть такая фишка - ApplicationDomain.
Цитата:
__________________
Дети не должны знать о своих родителях |
|
|||||
Беда в том, что пример сильно упрощен. На самом деле два ролика должны сидеть в одном ApplicationDomain. Я как бы и знал всю эту тему с перекрытием определений классов в одном домене, но... Знание еще не означает профессионализм.
|
|
|||||
Случайно увидел, что название моего топика было изменено Я конечно не против, но...
Мое название было совсем не информативным. А новое стало дезинформирующим! Судя по новому названию: Лоадер грузит ролик, а потом опять его грузит (судя по моему скриншоту - грузит безконечно). Я же описывал ситуацию, когда после загрузки заказаного ролика Лоадер отображает не загруженый(!), а ВЫЗЫВАЮЩИЙ РОЛИК. Тоесть в Лоадере оказывается клон root-ового ролика, который повторяет ту же задачу. Такая себе рекурсия. Ну а причина такого поведения была полностью раскрыта товарищами silin и Tails. Товарищ же iNils предложыл очень грамотное решение проблемы. |
Часовой пояс GMT +4, время: 01:54. |
|
« Предыдущая тема | Следующая тема » |
|
|