![]() |
preloader подскажите, почему не работает
Вложений: 1
Здравствуйте,
прикрепляю исходник прелоадера и картинки для загрузки если код пишу непоследственно по флеш ролике, то все работает но через класс не пашет подскажите, что не так? Вложение 25189 |
Исходник открыть не могу, озвучьте ошибку.
|
суть в следующем
есть три слоя первый (самый нижний) это картинка, на втором кадре второй слой (по середине) это прелоадер (символ) в первом кадре, который связан с классом Preloader третий слой, это actionscript в первом кадре, который просто останавливает клик stop(); вот класс Preloader.as Код AS3:
если делаю с имитацией загрузки, полоска заполняется, но потом начинает мерцать, то прелоадер (полоска), то картинка контента и пишет ошибку Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". |
ну вам же все уже написали:
Цитата:
|
я умею читать и знаю английский, хотя бы на уровне перевода ошибок, яж написал, что не понимаю в чем дело, с виду все верно
null это addEventListener ругается если сможете помочь решить проблему, буду благодарен если нет, то плиз не стоит флудить |
а я вам и помогаю - трейсите объекты, только так вы сможете найти где у вас там null
|
да я оттрейсил уже все что можно, не понимаю что сделать нужно
я только учусь я же специально прикрепил код, запустите, гляньте, сразу станет все ясно... если действительно помочь хотите ;-) |
подозреваю, что stage вы не трэйсили
или вот это еще вызывает сомнения preloaderFill_mc |
трейсил ([object Stage])
я не понимаю, неужели так трудно запустить код, и посмотреть? зачем толочь воду в ступе, если можно посмотреть все... для этого и прикрепил код Добавлено через 32 секунды preloaderFill_mc это инстанс имя символа |
мне - да, трудно. Подождите немного, сейчас еще кто-нибудь подключится )
|
ну тогда не стоит ввязываться в дискуссию, если решили просто пофлудить, мое имхо
|
Вы бы не CS5 тогда выкладывали, что ли.. В CS4 воспроизвел все что смог, ошибки нет
|
четвертой версии увы нет... разве дело в версиях флеша?
у Вас при запуске полноценно наполняется индикатор загрузки и потом выдается изображение??? |
У меня 4 версия, и поэтому я, и многие не другие не могут открыть исходник fla файла, по коду ошибок не выдает, но это с моей библиотекой, переконвертируйте и выложите (File/save as/Flash CS4)
|
В настройках "сохранить как" есть версия флеша.
|
момент
|
Я сделал исходник в точности такой как описано в вашем посте. Но есть одна проблема-он работает).
Слои от нижнего к верхнему: 1. Картинка во втором ключевом кадре 2. Мувиклип прелоадера унаследованный от класса Preloader(состоит из прямоугльника и лежащей на нем полоски-мувиклипа preloaderFill_mc) в первом ключевом кадре 3.stop() в первом ключевом кадре Если надо могу выложить. |
Вложений: 1
|
AlesNormales если не трудно выложите Ваш исходник и гляньте мой, который я прикремил для CS4 :)
|
У меня из за Вас флеш повис! Не забыли ли Вы поставить stop во втором кадре?
|
У вас нету stop() в первом кадре
и вместо gotoAndStop(2) надо (parent as MovieClip).gotoAndStop(2). потому что вы не по линейке прелоадера хотите шагать а по главной линеке. |
AlesNormales спасибо огромное
насчет stop() не поставил это уже во время проб своих, в оригинале там стояло все дело как раз было в parent as MovieClip сейчас все работает, но при это выдается предупреждение Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".Код AS3:
|
Сделайте как Вам советуют +:
1. добавьте неключевой кадр на слой прелодера во фрейм2 2. Добавьте ключевой кадр в акшенс на фрейм2 и там пропишите stop(); И удалите там уже прелоадер |
Забыл добавить, что эта ошибка возникает, во время "имитации загрузки", если просто запустить, то сразу выдается картинка (второй кадр), оно и понятно, т.к. грузится с машины
|
вот ваш рабочий исходник. похоже стоп вы опять не поставили.
|
Вложений: 1
в смысле вот он
|
как Вы считаете, правильнее использовать прелоадер на кадрах + внешний класс самого прелоадера (как в моем варианте)
или же, использовать прелоадер в чистых классах? т.е. саму сцену привязать к главному классу например Main в нем вызывать класс Preloader в котором вызывать классы мувиклипов, т.е. добавлять на сцену в ручную и уже после загрузки контента вызывать класс например Game Т.е. непосредственно главный класс игры (управляющий класс) ? если можно, расскажите все за и против таких методов Добавлено через 1 минуту вот в том примере что Вы прикрепили, так же вылезает ошибка Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".без нее все четко, без ошибок Добавлено через 4 минуты leofit спасибо, помогло все же склоняюсь к методу как посоветовал мне уважаемый КорДум использовать чистый actionscript... без временной шкалы т.е. на чистых классах... что скажете уважаемые? |
Мистика. 5 раз проверил-нету такой ошибки. все корректно работает. в AS3 кадров я боюсь, именно потому что при переходе по линейке вылазят ошибки на подобие вашей. Если есть возможность контролировать процесс без gotoAndStop()/goToAndplay(), не пользоваться кадрами, то нужно этой возможностью пользоваться. И код понятнее, и глюков меньше. А любой мувиклип можно поместить на сцену из библиотеки и в рантайме.
|
А почему нельзя поставить галочку Permit Debugging в Publish Settings и узнать, в какой же строчке кода происходит ошибка?
|
Можно поставить, но это если ошибка есть. а если ее нет то как узнать как ее вызвать?
Добавлено через 2 минуты К тому же насколько я понимаю если я открываю чужой *.fla то и паблиш сеттинз полностью находятся в нем? А это значит что ошибка должна проявиться и у меня и в оригинале. |
спасибо всем за помощь, кто помогал ;-)
решил не пользоваться кадрами совсем... буду работать на чистом AC3 |
Сегодня часа два проковырялся с такой же проблемой, причём на другой машине всё работало отлично.
Глюк именно при имитации загрузки клипа во флэш. Такое впечатление, что почему-то не отрабатывает в загрузчике removeEventListener. Решил вот так: Код AS3:
|
О_О!!!
Достаточно просто Код AS3:
|
Тигра, ну если несколько слушателей и мы хотим отписаться от всех, то примерно так и будет
Код AS3:
|
Ну вообще-то этот скрипт
Код AS3:
|
ну если слушатель в цикле не будет меняться, то да )
|
Ну вообще-то сомнительно перед глобальной отпиской проверять, есть ли такой слушатель.
Код AS3:
Код AS3:
|
Цитата:
|
Цитата:
|
Цитата:
Если проверка выполняется нативно, то как НЕ нативная проверка может быть быстрее? |
| Часовой пояс GMT +4, время: 08:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.