Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.03.2007, 12:54
Annihilator вне форума Посмотреть профиль Отправить личное сообщение для Annihilator Найти все сообщения от Annihilator
  № 1  
Ответить с цитированием
Annihilator
 
Аватар для Annihilator

Регистрация: Sep 2005
Адрес: Kiev
Сообщений: 73
Отправить сообщение для Annihilator с помощью ICQ
По умолчанию проблема с _root в классах внешнего клипа, подгруженного методом LoadMovieNum

Столкнулся со следующей странностью в цепочке видимости внутри классов.
Есть основное приложение игры и есть редактор уровней. Как отдельный swf редактор работает правильно, но мне надо его подгружать в игру. На его основной шкале указано this._lockroot = true; в игре подгружаю его стандартно: loadMovieNum("inner_map-editor.swf",1).
В коде редактора _root теперь ссылается на _level1, как и должно быть. А вот в классах, которые используются в редакторе, _root по-прежнему ведет на _level0, что естесственно не правильно (при чем большинство этих классов используются только в редакторе, а не в основной игре).

Почему так происходит и как это исправить?

Старый 14.03.2007, 12:55
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Потому что классы в _global находятся.
Про _root надо вообще забыть, как и про loadMovieNum.

Старый 14.03.2007, 13:11
Annihilator вне форума Посмотреть профиль Отправить личное сообщение для Annihilator Найти все сообщения от Annihilator
  № 3  
Ответить с цитированием
Annihilator
 
Аватар для Annihilator

Регистрация: Sep 2005
Адрес: Kiev
Сообщений: 73
Отправить сообщение для Annihilator с помощью ICQ
А каким же еще методом подгружать внешний клип на отдельный уровень?
То есть мне надо что-бы это было полностью независимое приложение внутри основного.


Последний раз редактировалось Annihilator; 14.03.2007 в 13:14.
Старый 14.03.2007, 13:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Annihilator
А каким же еще методом подгружать внешний клип на отдельный уровень?
Если забыть про _root, то и отдельного уровня не понадобится. Главное не перекрывать классы в родительском клипе по именам. И все будет прекрасно работать. Если прямо так нужна ссылка на рут клипа, то надо использовать для этого статическое свойство класса. Это будет более корректно.

Старый 14.03.2007, 14:01
Annihilator вне форума Посмотреть профиль Отправить личное сообщение для Annihilator Найти все сообщения от Annihilator
  № 5  
Ответить с цитированием
Annihilator
 
Аватар для Annihilator

Регистрация: Sep 2005
Адрес: Kiev
Сообщений: 73
Отправить сообщение для Annihilator с помощью ICQ
Спасибо, я именно так и догадался. Просто вместо _root сделал свойство __root, которое при инициализации объекта и делаю ссылкой на реальный _root. =8)

Хотя понимаю, что все это конечно не по ООП-шному, но у меня есть много функций на руте, которые нельзя отнести к какому-то конкретному классу, поэтому приходится обращаться из классов к _root. ...или может сделать эти функции глобальными?...

Старый 14.03.2007, 14:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Использовать статические свойства классов.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:20.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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