Просмотр полной версии : [ Переименовано ] Отслеживание момента, когда курсор покинул ролик
Elodreid
07.01.2006, 05:13
Делаю сайт, вверх флеш всегда, а низ бывает и html страница, вот в чем вопрос:
Как сделать, что бы если мышка уходит за границу флеш kursor_mc становился _visible = false?
Чаще всего кладут сверху кнопку, но самым беспроигрышным решением будет в JavaScript отслеживать координаты курсора и когда он не над роликом -- давать команду через SetVariable.
Проблема состоит в том, что когда курсор покидает Сцену, координаты _xmouse, _ymouse остаются теми, что были в последний момент, когда курсор над ней был.
Чтобы не использовать лишний раз жрущий (много или мало -- но жрущий) ресурсы onEnterFrame, делаем объект со свойством, которое вешается динамически, а значит, мы можем написать свой сеттер для этого объекта (как вариант -- делать класс, у которого уже есть сеттер, но тебе про классы думать рано).
Делается это примерно так:
_root.set__xmouse = function(val)
{
"Новое значение X: " + val
}
_root.get__xmouse = function(val){return null}
_root.set__ymouse = function(val)
{
trace("Новое значение Y: " + val);
}
_root.get__ymouse = function(val){return null}
_root.addProperty("__xmouse", _root.get__xmouse, _root.set__xmouse);
_root.addProperty("__ymouse", _root.get__ymouse, _root.set__ymouse);
Руту динамически вешаются свойства __xmouse, __ymouse. Теперь мы можем изменять их с помощью SetVariable и у нас отработают соответствующие функции set__ymouse, set__xmouse.
Getter/Setter -- функции, вызываемые при обращении к свойству "на чтение" (типа, var a = obj.property взовет getter для property) и "на изменение" (obj.property = "foo" вызовет setter для property).
Чтобы ты не сошел с ума от обилия новой информации предлагаю 2 варианта:
1. Почитать про геттеры и сеттеры, JS код завтра напишу (уже засыпаю, Антаресы тоже иногда спят).
2. Если согласишься почитать по-английски, могу дать ссылки на туторы для первого метода с кнопкой, но он, как я говорил, не идеален.
Elodreid
07.01.2006, 17:32
Ну я сейчас и сделал, что-то похожее на кнопку, только АСом :)
Просто координатами (по 5px взял), но если очень резко провести она не всегда в эти 5 пх попадает, а больше будет не красиво :-\
А вот с JS интересней, спасибо попробую как с катка приду :D
Ну так вот с JS способ беспроигрышный
или вот готовый исходник
лови (ftp://bukhara.gov.uz/flash/js_toFlash_mouseCoord.zip)
Не нравится -- не ешь. У тебя есть еще один шанс испытать мое терпение. Второе нарушение за 3 прочитанных мною треда.
Elodreid
08.01.2006, 06:11
ravenco, спасибо буду пытаться разобраться ;)
Antares, ай м сорри
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.