![]() |
|
||||||||||
|
|
|
|||||
|
Как всегда. Начинаешь над чем-нибудь работать и тут же возникают проблемы на самом начальном и простом этапе работы. Суть проблемы вот в чем.
Вот функция иницализации игры: function initGame(){ fscommand("showmenu","false"); // Убираем верхнюю панель Stage.showMenu = false; // Убираем контекстное меню panel_count = 1; // количество панелей // Убираем все панели со сцены for (i=1; i<=panel_count; i++){ eval("panel"+i)._visible = 0; } // Инициируем панель сети panel1.initPanel(); } initGame(); Цитата:
function initPanel(){ _root.actPanel(1); // Отображение панели на экране constat.text = "Не соединено!"; // Инициируем кнопки butConn.onPress = connect; // Кнопка соединения butBegAuth.onPress = begAuth; // Кнопка аутентификации } function actPanel(p:Number){ trace("__"); for (i=1; i<=panel_count; i++){ eval("panel"+i)._visible = 0; } eval("panel"+p)._visible = 1; } А вот и сама проблема. Дело в том, что при попытке вызова panel1.initPanel();, то вызова как раз и не происходит. То есть панель не инициируется. При трейсе "panel1.initPanel()" результат возвращает "undefined". В чем может быть причина такого странного поведения?
__________________
Надо сменить подпись... |
|
|||||
|
Модрон-ветеринар
|
Для начала я бы вытащил initPanel() наружу, туда же, где основной код, переписав ее немного. Ну и вызов бы пришлось иначе делать.
__________________
Идите первым! |
|
|||||
|
Область видимости функции. Вероятно она у вас не на _root.
Попробуйте trace( panel1.initPanel ) Если не будет вам [object function] , значит вы ее не там ищете. |
|
|||||
|
1) panel1 вытащена на основную сцену (Instance Name = "panel1").
2) Функция initPanel() прописана в первом кадре мувика panel1. 3) trace(panel1) выдает мне _level0.panel1. 4) trace(panel1.initPanel) выдает undefined. Могу сюда выставить исходник и Вы сами проверите работу. Цитата:
В общем, я заметил, что мувики на сцене есть, через трейс к ним доступ есть, но доступа к функциям внутри этих мувиков - нет... Вот так вот... P.S. Создал новый документ. Поставил на сцену мивук и инстансом "ma", открыл, прописал в его первый кадр Затем на основной сцене прописал Трейс выдает мне только "its ok - fb".. Это уже ну очень странно....................
__________________
Надо сменить подпись... Последний раз редактировалось EndoCrinologist; 22.03.2012 в 17:45. |
|
|||||
|
Модрон-ветеринар
|
Они не успевают проинициализироваться, первым выполняется код на _root.
Попробуй в старой версии И все будет ок.
__________________
Идите первым! |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|