![]() |
проблема с _root в классах внешнего клипа, подгруженного методом LoadMovieNum
Столкнулся со следующей странностью в цепочке видимости внутри классов.
Есть основное приложение игры и есть редактор уровней. Как отдельный swf редактор работает правильно, но мне надо его подгружать в игру. На его основной шкале указано this._lockroot = true; в игре подгружаю его стандартно: loadMovieNum("inner_map-editor.swf",1). В коде редактора _root теперь ссылается на _level1, как и должно быть. А вот в классах, которые используются в редакторе, _root по-прежнему ведет на _level0, что естесственно не правильно (при чем большинство этих классов используются только в редакторе, а не в основной игре). Почему так происходит и как это исправить? |
Потому что классы в _global находятся.
Про _root надо вообще забыть, как и про loadMovieNum. |
А каким же еще методом подгружать внешний клип на отдельный уровень?
То есть мне надо что-бы это было полностью независимое приложение внутри основного. |
Цитата:
|
Спасибо, я именно так и догадался. Просто вместо _root сделал свойство __root, которое при инициализации объекта и делаю ссылкой на реальный _root. =8)
Хотя понимаю, что все это конечно не по ООП-шному, но у меня есть много функций на руте, которые нельзя отнести к какому-то конкретному классу, поэтому приходится обращаться из классов к _root. ...или может сделать эти функции глобальными?... |
Использовать статические свойства классов.
|
| Часовой пояс GMT +4, время: 02:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.