|
|
|||||
Регистрация: Jun 2011
Сообщений: 19
|
Области видимости
Всем привет!
Вопрос явно банальный, но я что то даже не знаю где ответ искать.. Видать я что то невнимательно прочитал когда, первый раз знакомился с actionscript 3. Дело в том что я разбираюсь сейчас с as3isolib. Но дело не в ней. Есть у меня главный класс и класс отрисовывающий все в изометрии. Главный класс создает рисующий класс и вызывает функцию из него для загрузки карты. НО ничего не добавляется на сцену (IsoScene). Но если добавлять объекты в конструкторе рисующего класса, или вызывать эту функцию из него самого, то все окей. Вот и вопрос. Судя по всему тут что то завязано на областях видимости.. Но не пойму что. Функцию надо бы вызывать снаружи, ибо надо подготовить все для загрузки карты, поэтому засовывать ее вызов в конструктор рисующего класса, мне не катит.. Подскажите почему при вызове извне ничего не добавляется, а при вызове из самого класса, все окей. IsoScene это public переменная в рисующем классе. Хотя это наверное не важно. И таки да, функция успешно вызывается сама по себе, но вот видать переменная со ссыкой на сцену куда то не туда указывает и поэтому добавленые объекты теряются. Я кстати и this пробовал в этой функции, но не помогает. Добавлено через 35 минут вообщем то все заработало 0_0. только я не понял почему. хотя у меня flash ide между делами зависла и пришлось ее перезапустить, может в этом дело было... |
|
|||||
[+1 16.03.13]
[+1 22.03.13] Регистрация: Dec 2012
Сообщений: 100
|
package { public class Класс { public var СвойствоКласса:*; public function МетодКласса():void { var ПеременнаяМетода:* var ФункцияМедота:Function = function():void { var ПеременнаяВложеннойФункции:*; } } } } ФункцияМедота видна только внутри МетодКласса, а так же внутри самой себя если рекурсивный вызов; ПеременнаяМетода видна внутри ФункцияМедота и МетодКласса; СвойствоКласса видна в МетодКласса, но не видна в ФункцияМедота; |
|
|||||
Совет: пишите в нормальной IDE типа FlashDevelop, а не в flash ide. И будет все ок с просмотром полей классов в подсказках.
Цитата:
|
|
|||||
[+1 16.03.13]
[+1 22.03.13] Регистрация: Dec 2012
Сообщений: 100
|
Тут ещё один момент есть:
Например если нужно, чтобы СвойствоКласса было видно внутри ФункцияМедота, то его нужно передать в качестве праметра в МетодКласса и затем этот параметр уже использовать внутри ФункцияМедота. |
Часовой пояс GMT +4, время: 15:40. |
|
« Предыдущая тема | Следующая тема » |
|
|