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

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

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
По умолчанию Определение объекта-родителя.

Код:
var myObj:MyObject = new MyObect();
myObj.container.addEventListener(MouseEvent.CLICK, myFunc);
private function myFunc(e:MouseEvent):void {
   trace(e.target);
}
container — свойство объекта myObj.
Как в функции myFunc получить ссылку на объект myObj ?


Последний раз редактировалось Obi; 03.04.2008 в 23:21.
Старый 04.04.2008, 00:33
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 2  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Вообще-то, переменнцю myObj и так видно в функции myFunc
А если container - это DisplayObject, а myObj - DisplayObjectContainer
и container добавлен в DisplayList myObj, то можно так:
Код:
 
private function myFunc(e:MouseEvent):void {
   trace((e.target.parent as MyObject));
}


Последний раз редактировалось alekslitvinenk; 04.04.2008 в 00:36.
Старый 04.04.2008, 01:03
Obi вне форума Посмотреть профиль Отправить личное сообщение для Obi Найти все сообщения от Obi
  № 3  
Ответить с цитированием
Obi
 
Аватар для Obi

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
Сообщение от alekslitvinenk
Вообще-то, переменнцю myObj и так видно в функции myFunc
А если container - это DisplayObject, а myObj - DisplayObjectContainer
и container добавлен в DisplayList myObj, то можно так:
Код:
 
private function myFunc(e:MouseEvent):void {
   trace((e.target.parent as MyObject));
}
1. Ну вы же понимаете, что если-бы все так просто, и переменную можно было увидеть, проблемы бы не было.
2. container — Sprite;
3. myObj никакого отношения к DisplayObject'ам не имеет.

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

Регистрация: Sep 2002
Сообщений: 30,784
Это невозможно.

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

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
Код:
var myObj:MyObject = new MyObect();
myObj.container.addEventListener(MouseEvent.CLICK, myFunc);
private function myFunc(e:MouseEvent):void {
   trace(myObj);
}
В чем собственно проблема?
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от ulik
В чем собственно проблема?
В области видимости, как минимум.

Старый 04.04.2008, 13:49
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 7  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
Цитата:
Сообщение от __etc
В области видимости, как минимум.
Код:
import flash.display.Sprite;

var sp1:Sprite=new Sprite();
sp1.name="sp1";
var sp2:Sprite=new Sprite();
sp2.name="sp2";
addChild(sp1);
sp2.addEventListener(Event.ADDED_TO_STAGE, myFunc);
function myFunc(e:Event):void {
	trace(sp1.name);
}
sp1.addChild(sp2);
Так, а все-таки, в чем проблема?
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум

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

Регистрация: Sep 2002
Сообщений: 30,784
Проблема в том, что MyObect — произвольный объект, не DisplayObject и ссылка на него хранится неизвестно где, но точно не в области обработчика. Так яснее?

Старый 04.04.2008, 14:07
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 9  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
Тогда яснее. Просто автор не пояснил есть ли extend. Класса-то я не видел.
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум

Старый 04.04.2008, 15:10
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 10  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
2 ulik: автор пояснил все в ответе alekslitvinenk

2 obj: можно с делегатами поиграться, если подходит такой вариант ))

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

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

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


 


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


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