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

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

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

Регистрация: May 2012
Сообщений: 8
По умолчанию Отключается MOUSE_UP

Всем доброго дня.

Есть 64 спрайта расположенные в колонки по 8(клетки шахматной доски), эти спрайты хранятся в массиве.
В первые и в последние 16 спрайтов массива добавлены спрайты фигур.
При событии MOUSE_DOWN на любой из фигур происходит this.startDrag(); на MOUSE_UP соотвественно this.stopDrag();
Также на MOUSE_UP происходит "передача" спрайта фигуры от клетки родителя к клетке this.dropTarget.

Фигуры перетаскиваются нормально, но если я пытаюсь перетащить скажем пешку на клетку на которой она стояла до предыдущего перетаскивания событие MOUSE_UP не возникает, также она не перетаскивается на все клетки которые находятся ниже ее(визуально на доске), фактически находятся в большем чем она индексе массива клеток доски.

Возможно это связано с какими-то тонкостями обработки событий actionscript 3. Пишу на этом языки неделю, поэтому вряд ли смогу справиться с таким глюком самостоятельно при помощи гугла. Помогите плз.

UPD: Добавил MOUSE_OVER в классе клетки и когда тащишь фигуру то оно срабатывает на тех клетках на которых не срабатывает MOUSE_UP которое висит на фигурах, а на тех на которых MOUSE_UP срабатывает не работает MOUSE_OVER. Чувствую что тут напрашивается какой-то вывод... но вот какой только.


Последний раз редактировалось Svetlov; 26.05.2012 в 22:25. Причина: upd
Старый 26.05.2012, 22:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Слушайте MOUSE_UP от стейджа.
__________________
Reality.getBounds(this);

Старый 26.05.2012, 22:41
Svetlov вне форума Посмотреть профиль Отправить личное сообщение для Svetlov Найти все сообщения от Svetlov
  № 3  
Ответить с цитированием
Svetlov

Регистрация: May 2012
Сообщений: 8
Wolsh

Спасибо, заработало. Выдает правда пару ошибок типа -

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Figure/boardGlue()
at Figure/onmouseup()

Но с этим я думаю я как-нибудь справлюсь.

Из того что оно заработало можно сделать вывод что у событий есть область... видимости чтоли?

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
На какой объект вы вешаете события MOUSE_UP/DOWN?

Добавлено через 39 секунд
упс...

Старый 26.05.2012, 23:16
Svetlov вне форума Посмотреть профиль Отправить личное сообщение для Svetlov Найти все сообщения от Svetlov
  № 5  
Ответить с цитированием
Svetlov

Регистрация: May 2012
Сообщений: 8
Партизан

Вешал на объект фигуры, которая в свою очередь является ребенком от клетки а клетка от доски а доска от stage уже.

Wolsh

Перевесил на доску, все работает ок. Правда пока не совсем понимаю почему) Может ссылочку на тему подкинете?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
У событий есть источник. Совершенно неожиданно его же называют и целью (target)
А вообще Вы правы, рассказывать это все мучительно долго.
Читайте Колина Мука или другие книги, про События и про Список отображения (дисплей лист).
Это необходимейшие базовые знания. Без них просто никуда.
__________________
Reality.getBounds(this);

Старый 26.05.2012, 23:48
Svetlov вне форума Посмотреть профиль Отправить личное сообщение для Svetlov Найти все сообщения от Svetlov
  № 7  
Ответить с цитированием
Svetlov

Регистрация: May 2012
Сообщений: 8
Wolsh

Спасибо, обязательно почитаю.

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
А в чем плюс использовать фигуру как child'a клетки?

интересно просто
__________________
adobe AS3 manual

Старый 27.05.2012, 02:53
Svetlov вне форума Посмотреть профиль Отправить личное сообщение для Svetlov Найти все сообщения от Svetlov
  № 9  
Ответить с цитированием
Svetlov

Регистрация: May 2012
Сообщений: 8
strangedk

Боюсь продолжение этого разговора может завести меня в дебри в которых я пока мало чего понимаю. Поэтому пожалуй промолчу)

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Цитата:
Сообщение от strangedk Посмотреть сообщение
А в чем плюс использовать фигуру как child'a клетки?

интересно просто
Наверное проще просчитать координаты центра клетки для размещения фигури, нежели по положению клетки расчитать ее центр в системе координат доски Иногда ловишь "эврику" за хвост и, ослепленный удачей, не замечаешь альтернативы...

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

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

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


 


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


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