Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   onRollOver зря срабатывает (http://www.flasher.ru/forum/showthread.php?t=136381)

Konstantin.Rem 16.02.2010 11:49

onRollOver зря срабатывает
 
У меня есть объект X который закрывает объект Y. На объекте Y ожидается событие onRollOver. Мышь на месте, курсор над объектом X, объект Х пропадает, под курсором оказывается Y -- событие срабатывает. Как сделать так, чтобы событие срабатывало _только_ при движении мыши?

lexa2000lexa 16.02.2010 12:19

смотрите с сторону
Код AS1/AS2:

onMouseMove


Konstantin.Rem 16.02.2010 12:33

Код:

square.onMouseMove = function() {set_selection();}
Вообще перестал реагировать на движение мыши..

lexa2000lexa 16.02.2010 12:39

а вы листер зарегестрировали
Код AS1/AS2:

Mouse.addListener(square);

?

udaaff 16.02.2010 12:41

Мувиклипы по умолчанию подписаны на получение мышиных событий. И onMouseMove глобальное событие, на сколько я помню.

lexa2000lexa 16.02.2010 12:48

да действительно, что то я ступил.
to Konstantin.Rem
давайте код посмотрим, так будет ясней что у вас там не работает.

Konstantin.Rem 16.02.2010 13:01

Пишу крестики-нолики на большом поле.

У меня есть поле клеток 15х15, которое представляет из себя дапликейтмувиклип одного объекта - клетки. Причем поле двойное. Сначала светлые клетки (square[]), потом наверху идут темные клетки (square_selected[]). Когда провожу по клетке - она должна темнеть (выделяться). Я сделал это путем square_selected[addr]._visible = true когда над обычной (светлой клеткой) проходит мышка. Также присобачил событие нажатия на клетку выделенную (так как под мышью всегда будет square_selected[], а не обычная светлая square[addr]) -- ставим крестик/нолик.
Еще у меня есть управление клавиатурой.

Вопрос такой: как грамотно присобачить события на все клетки 15х15, так, чтобы светлые ловили движение (и только), темные нажатие? Причем для выделения светлая клетка при движении должна вызывать set_selection(i);, а при нажатии, темная клетка должна вызывать set_get_turn(i);, где i - номер данной клетки.

lexa2000lexa 16.02.2010 15:16

Если чесно не очень понятно, как у вас все устроенно, но примерно ясно чего вы хотите, и я бы вам посоветовал избавиться от двух клипов с разными состояниями а сделать один но двухкадровый и переходить по кадрам в нем, нежели делать видемым не видемым два клипа.

udaaff 16.02.2010 15:22

Ваша клетка должна быть одним объектом с определенными состояниями. Допустим: up, over, и параллельно empty, nought, cross. А не одну под низ, вторую на верх.


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

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