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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.07.2008, 03:22
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 11  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
А можете пожалуйста написать пример. Просто я не совсем понимаю как передать ссылку mc1, который создался вне класса и сохранить.
В моём понимании это public var mc:MovieClip = _root.mc1;


Последний раз редактировалось Dr.XxX; 30.07.2008 в 03:26.
Старый 30.07.2008, 03:45
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 12  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Там, где создали ваш мувиклип, там же и передали вашему объекту ссылку на него.

Код:
var myObject:MyClass=new MyClass();


var mc1=this.createEmptyMovieClip("mc1",this.getNextHighestDepth());

myObject.mc=mc1;
// хотя лучше писать под это отдельны метод в вашем классе:
myObject.setMC(mc1);
Представьте, что у вас совсем нету переменной _root и ищите другие способы связывать объекты.

Старый 30.07.2008, 04:02
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 13  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Спасибо.


Последний раз редактировалось Dr.XxX; 31.07.2008 в 18:57.
Старый 31.07.2008, 19:31
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 14  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
А нельзя к примеру создать отдельный класс, который постоянно будет ссылаться на ссылку _root'a ?
тоесть:
Код:
class RootLink{
public static var mRootLink:MovieClip=null;
public static function setRootLink(mRoot:MovieClip)
 {
  mRootLink=mRoot;
}
}
Во .fla:
RootLink.setRootLink(this);

И потом в каком-то классе ссылаться на объект, находящийся в _root, как RootLink.mRootLink.object ?

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Dr.XxX Посмотреть сообщение
А нельзя к примеру создать отдельный класс, который постоянно будет ссылаться на ссылку _root'a ?
Можно, но зачем вам _root? Что вы там забыли в нём?

Старый 31.07.2008, 19:48
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 16  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Постоянно надо ссылаться из класса к разным объектам находящимся в _root.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Dr.XxX Посмотреть сообщение
Постоянно надо ссылаться из класса к разным объектам находящимся в _root.
Значит ваш проект спроектирован неверно, если вам нужно делать крюк через рут для обращения к какому-нибудь объекту.

Старый 31.07.2008, 20:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 18  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Представьте, что ваш проект, это коробка в которой лежит два футляра в котором по три ручки. И эта коробка вы создали на кухне. Кухня это _root. И каждый раз, для того, чтобы взять ручку, вы говорите - где:
Кухня.Коробка.Футляр2.Ручка3
Но вот вы создали коробку в Комнатк. И при попытке взять ручку по адресу Кухня.Коробка.Футляр2.Ручка3 вы оказываетесь без ручки, так как коробки на кухне нет. Поэтому при создании коробки, вместо точного указания, где коробка создавалась, вы используете относительное место и храните это место как надпись на коробке.
То есть МестоСоздания.Коробка.Футляр2.Ручка3, а МестоСоздания это this.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 31.07.2008, 20:35
Dr.XxX вне форума Посмотреть профиль Отправить личное сообщение для Dr.XxX Найти все сообщения от Dr.XxX
  № 19  
Ответить с цитированием
Dr.XxX

Регистрация: Dec 2006
Сообщений: 207
Тоесть надо создавать объект в классе, а потом присваивать через set путь к этому объекту, который в _root ?

Старый 01.08.2008, 00:09
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 20  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Цитата:
путь к этому объекту, который в _root
Просто не размещайте объектов в _root. Тогда и ссылаться на них не придется. Хотя бы так.
_root - это привязка адресации всех объектов к таймлайну ролика. Своего рода "штучная" работа. Оторвать все от этого таймлайна, например загрузив в другой ролик или попытавшись в том же виде использовать код в другом проекте, будет трудно.
Использование рута - как выложить стену из неотесанных камней, все притерто, ничего не переставишь. Без рута - что выложить стену из гладких кирпичей: не понравился кирпич - заменил на другой без проблем или местами поменял. Хотя в том и другом случае конечный результат вобщем-то одинаков - стена она и есть стена, качество будет разное. Новую стену вы из тех же кирпичей построите быстро, кирпичам все равно в какое место стены их замуруют, а вот из камней - опять притирать.
Вот и делайте свои объекты так, что бы не надо было потом долго решать куда его положить, что бы правильно ссылаться на него.

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

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

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


 


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


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