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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.03.2009, 21:32
Resonan вне форума Посмотреть профиль Отправить личное сообщение для Resonan Найти все сообщения от Resonan
  № 11  
Ответить с цитированием
Resonan
 
Аватар для Resonan

Регистрация: Mar 2009
Сообщений: 9
event.target.name

Старый 31.03.2009, 00:48
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 12  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
@Karandash8
Код AS3:
var dic:Dictionary = new Dictionayry();
...
var c:Cursor = dic[ button ];
не?

Старый 31.03.2009, 09:34
Karandash8 вне форума Посмотреть профиль Отправить личное сообщение для Karandash8 Найти все сообщения от Karandash8
  № 13  
Ответить с цитированием
Karandash8

Регистрация: Aug 2006
Сообщений: 32
Цитата:
Сообщение от Resonan Посмотреть сообщение
event.target.name
у меня была мысль использовать это, но там значения получаются такого вида: instance268. Я совершенно не понял чтоэто за число и от чего оно зависит

Добавлено через 1 час 18 минут
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
@Karandash8
Код AS3:
var dic:Dictionary = new Dictionayry();
...
var c:Cursor = dic[ button ];
не?
возможно я не совсем понял назначение тут класса Dictionary, но вот какое у меня дерево вложенности классов:

DocClass{
Tools{
ButtonWateringPot
ButtonLoosenTool
ButtonBagWithBugs
ButtonSunShining
}
WateringPot
LoosenTool
BagWithBugs
SunShining
}

здесь соответственно ButtonWateringPot, ButtonLoosenTool, ButtonBagWithBugs, ButtonSunShining - это кнопки;
WateringPot, LoosenTool, BagWithBugs, SunShining - это курсоры.
пользовательское событие начинается в каждой из кнопок, а отлавливается в классе Tools и после этого назначается нужный пользовательский курсор.

На данный момент я реализую это так: в классе Tools создаю два массива, один содержит обьекты курсоров, а второй текстовые имена классов кнопок. Причем индексы для пары кнопка-курсор совпадают. После этого при отлове события, я в цикле сравниваю event.target с элементами массива имен, при совпадении, назначаю пользовательский курсор из массива курсоров с текущим индексом. Получилось относительно коротко, но лучший ли это вариант??

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Таже самая фигня
Код AS3:
//два мувиКлипа
b1.addEventListener(MouseEvent.CLICK, switchRoom);
b2.addEventListener(MouseEvent.CLICK, switchRoom);
//метод
private function switchRoom(event:MouseEvent):void
{
	switch(event.target)
	{
		case b1:roomN = 0; break;
		case b2:roomN = 1; break;
	}
}
Наивно почемуто полагал что event.target будет являтся b1 при нажатии на первую кнопку и b2 соотвественно на вторую. Как можно определить где b1, а где b2?

Упс, спасибо уже ответили пока писал своё сообщение

upd Не, ничего не помогло. Если писать в кадрах, то event.target.name верно определяет b1 и b2, а если внутри класса то поеределяет как instance25


Последний раз редактировалось Bgg; 16.04.2009 в 13:17.
Старый 16.04.2009, 14:19
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 15  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
ramshteks Вам вполне верно написал: если вы расширяете MovieClip'ы своими классами, заведите в классах поле
Код AS3:
 var cursorIndex:int;
и будете туда записывать индекс курсора, который должен будет отобразится при нажатии на этот клип, обработчик будет, например, таким:
Код AS3:
private function switchRoom(event:MouseEvent):void
{
	mcCursor.gotoAndStop((event.target as MyClass).cursorIndex);
}
или же, если каждый курсор - это отдельный клип, можете хранить в классе не идентификатор, а указатель на клип нужного курсора

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

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

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


 


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


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