![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2012
Сообщений: 8
|
Всем доброго дня.
Есть 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 |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Слушайте MOUSE_UP от стейджа.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 8
|
Wolsh
Спасибо, заработало. Выдает правда пару ошибок типа - TypeError: Error #1009: Cannot access a property or method of a null object reference. at Figure/boardGlue() at Figure/onmouseup() Но с этим я думаю я как-нибудь справлюсь. Из того что оно заработало можно сделать вывод что у событий есть область... видимости чтоли? |
|
|||||
|
Регистрация: May 2012
Сообщений: 8
|
Партизан
Вешал на объект фигуры, которая в свою очередь является ребенком от клетки а клетка от доски а доска от stage уже. Wolsh Перевесил на доску, все работает ок. Правда пока не совсем понимаю почему) Может ссылочку на тему подкинете? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
У событий есть источник. Совершенно неожиданно его же называют и целью (target)
![]() А вообще Вы правы, рассказывать это все мучительно долго. Читайте Колина Мука или другие книги, про События и про Список отображения (дисплей лист). Это необходимейшие базовые знания. Без них просто никуда.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2012
Сообщений: 8
|
Wolsh
Спасибо, обязательно почитаю. |
|
|||||
|
А в чем плюс использовать фигуру как child'a клетки?
интересно просто
__________________
adobe AS3 manual |
|
|||||
|
Регистрация: May 2012
Сообщений: 8
|
strangedk
Боюсь продолжение этого разговора может завести меня в дебри в которых я пока мало чего понимаю. Поэтому пожалуй промолчу) |
|
|||||
|
Цитата:
Иногда ловишь "эврику" за хвост и, ослепленный удачей, не замечаешь альтернативы... |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|