Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   При компиляции ошибки нет, а при открытии swf - есть (http://www.flasher.ru/forum/showthread.php?t=147668)

o_oxana 10.12.2010 13:57

При компиляции ошибки нет, а при открытии swf - есть
 
Добрый день,

Подскажите, почему такое может происходить. Если откомпилировать проект, то работает без ошибок(прелоадер отработал - кликаем - попадаем в меню), а если открыть готовый свф, то после клика появляется ошибка - Parameter child must be non-null, ругается на меню. Почему такая выборочность? Какие вообще ошибки не определяются при компиляции, но могут всплыть в готовых свф?

bav 10.12.2010 14:33

Покажите каким образом и где вы добавляете (или удаляете) меню.

o_oxana 10.12.2010 14:52

в сцене 3 кадра. первый кадр - stop(), добавляем прелоадер, когда догрузился, добавляем на него слушатель события click, который вызывает функцию show_menu:
Код:

    gotoAndStop(3);
    addChild(menu_mc);

в третьем кадре прописано
Код:

stop();
CMain_ini();

где в CMain_ini создаются все нужные мувиклипы, в том числе
Код:

menu_mc = new CScrMenu();

bav 10.12.2010 15:05

В функции show_menu() прежде чем перейти на третий кадр выполняется функция addChild(), аргумент которой в этот момент еще не определен. Попробуйте добавлять menu_mc уже в третьем кадре, после его создания в функции CMain_ini().

o_oxana 10.12.2010 15:25

почему тогда при запуске от компиляции никакой ошибки не получается? а только при открытии готового свф? сделала по-другому - при клике на прелоадер вызывается
Код:

gotoAndStop(3);
а в самом кадре
Код:

stop();
CMain_ini();
show_menu();

- тут уж точно успеет создаться menu_mc...
в show_menu осталось только addChild(menu_mc).
точно так же - ошибка только в свф.
Допустим, есть какая-то ошибка, которая глубже закралась и нужно код перелопачивать. Это уже вряд ли кто-то из вне мне поможет. Скажите тогда, в каких случаях вообще могут возникать ошибки в свф и не возникать при запуске через ctrl+Enter?

leofit 10.12.2010 15:29

Политики безопасности разные.. А вообще поставьте себе debug плеер и сами увидите ошибку

TanaTiX 10.12.2010 15:31

не надо писать в кадрах
выборочность зависит от того, когда что флеш "успевает" сделать
При компиляции - успевает, если выложить на сайт - не успевает, т.е. объект на который ссылается код не успевает проинициализироваться. Примерно так.

ZergMaster 10.12.2010 15:55

+1 - не надо писать в кадрах.
забудьте про кодинг, основанный на переходе с кадра на кадр! Это вызывает массу глюков! Это можно делать только в самых простых случаях, для создания красивых кнопочек например. )
Гораздо безопаснее основывать проект на добавлении/удалении нужных мувиков при помощи addChildAt(MovieClip, index), благодаря которому можно распихивать их по уровням и располагать на сцене так, как требуется (тоже самое, что слои).

o_oxana 10.12.2010 17:42

Спасибо, в следующий раз буду умнее))


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

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