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

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

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
По умолчанию Чему равно e.target ?

Добрый день. Сначала немного истории...
Имеется несколько спрайтов и ссылка на один
Код AS3:
var buttonOtkrit:Sprite=new Sprite();
var buttonPoisk:Sprite=new Sprite();
var buttonRedaktirovanie:Sprite=new Sprite();
//указатель на выбранное меню,окно, по дефолту - ОТКРЫТЬ
var selectedMenuButtun:Sprite=buttonOtkrit;
 
konteinerWindow.addChild(buttonOtkrit);
konteinerWindow.addChild(buttonPoisk);
konteinerWindow.addChild(buttonRedaktirovanie);
buttonOtkrit.addEventListener(MouseEvent.CLICK,clickOnMenuButtonListener);
buttonPoisk.addEventListener(MouseEvent.CLICK,clickOnMenuButtonListener);
buttonRedaktirovanie.addEventListener(MouseEvent.CLICK,clickOnMenuButtonListener);
 
//Трэйсы - при нажатии на buttonOtkrit
private function clickOnMenuButtonListener(e:MouseEvent):void{
trace(e.target===selectedMenuButtun);//true
trace(e.target);//[object Sprite]
trace(selectedMenuButtun);//[object Sprite]
trace(e.target.name);//instance6
trace(selectedMenuButtun.name);//instance6
selectedMenuButtun=e.target;//1118: Implicit coercion of a value with static type Object to a possibly unrelated type flash.display:Sprite.
}
Никак не могу понять в чем проблема?
P.S. без строчки
Код AS3:
selectedMenuButtun=e.target;
все работает.


Последний раз редактировалось GFreemen; 12.03.2009 в 23:14.
Старый 12.03.2009, 23:16
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 2  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
а с областью видимости var selectedMenuButtun:Sprite=buttonOtkrit;
все нормально у вас?
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
Объявлена в классе и, как я понимаю, должна быть везде видима в этом классе. Собственно говоря небыло бы видно - не трейсилось бы.

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

Регистрация: Sep 2002
Сообщений: 30,784
Тип свойства target у Event не является Sprite.

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

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
__etc как бы намекает вам на такой код:
Код AS3:
selectedMenuButtun=e.target as Sprite;
__________________
: M F N W :

Старый 13.03.2009, 02:15
GFreemen вне форума Посмотреть профиль Отправить личное сообщение для GFreemen Найти все сообщения от GFreemen
  № 6  
Ответить с цитированием
GFreemen
 
Аватар для GFreemen

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
Cпасибо большое. Все работает. (а как может быть иначе)
Только маленький осадочек остался. Нельзя ли провести ликбез КАК работает.

Цитата:
as Оператор
Проверяет, относится ли выражение, заданное первым операндом, к типу данных, заданному вторым операндом. Если первый операнд относится к этому типу данных, результатом будет первый операнд. В противном случае результатом будет значение null.
Как оказалось я не только английский плохо понимаю, но и в русском - ламер. Нельзя ли сказать тоже самое на на общедоступном языке?

Старый 13.03.2009, 02:41
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 7  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
as - как

простыми словами e.target as Sprite - считать e.target спрайтом
__________________
: M F N W :

Старый 13.03.2009, 02:45
toFlash вне форума Посмотреть профиль Отправить личное сообщение для toFlash Найти все сообщения от toFlash
  № 8  
Ответить с цитированием
toFlash
 
Аватар для toFlash

блогер
Регистрация: Oct 2003
Адрес: Калининград
Сообщений: 202
Записей в блоге: 4
e.target имеет тип Object, с помощью конструкции e.target as Sprite мы говорим компилятору что данный объект принадлежит классу Sprite, далеее, если наш объект на самом деле спрайт, то все ок, твоей переменной присвоется ссылка на экземпляр класса, объект который вызвал ивент, если же нет, то selectedMenuButtun присвоется значение null - что вполне съедобно для компилятора
__________________
flash portfolio

Старый 13.03.2009, 08:12
GFreemen вне форума Посмотреть профиль Отправить личное сообщение для GFreemen Найти все сообщения от GFreemen
  № 9  
Ответить с цитированием
GFreemen
 
Аватар для GFreemen

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
Ясненько.
Спасибо всем большое.

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

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

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


 


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


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