![]() |
Тормоза при реализации эффекта от движения мыши
Нужен мудрый совет.
А суть дела такова: в презентации хочу сделать фоновую сеточку, состоящую из клипа полоски(клип Line), которая при наведении мыши должна проигрываться (в моем случае вспыхивать и плавно гаснуть: менять прозрачность).Возникает ряд косяков: косяк №1 скрипт сильно грузит камень, т.к. каждой копией клипа Line при движении мыши происходит проверка положения курсора относительно точки регистрации.(для вертикальных: по y, для горизонтальных соответственно по X). И линий конечно же много (не один десяток). косяк №2 При резком движении мыши координаты не успевают обсчитываться и некоторые линии не загораются(не проигрываются). Что я сделал: для того чтобы мышка не "проскакивала" мои линии, я увеличил рассояние между линиями и увеличил границы в которых линия должна работать: Код:
onClipEvent (mouseMove) {Но это непомогло, при резком перемещении курсора бяка получается. Я решил подойти с другой стороны(как планировал с самого начала): активную область линии сделать кнопкой и при on(RollOver) мой клип Line должен был Play(); 8-) заменил курсор, чтобы не появлялать "ручка" при наведении, но все равно - ТОРМОЗА. (как еже поизвращенней можно извратиться?) Что делать, как быть? Я все сильней и сильней хочу теперь сделать эту сеточку. P.S.: Можно сделать функцию которая будет отслеживать положение курсора и писать его в переменные XM и YM (например), затем сравнивать его положением каждой линии и при выполнении условия заставлять нужную линию проигрываться? (возникает геморой с адресацией на каждую линию и указанием координат). |
_MKR_, оформите в своем посте код тегами [code][/code].
|
я бы сделал вот как:
а) линии разместил бы в координатах 5..15..25..и т.д. б) обозвал бы их h0..h1..h2..и т.д. и v0..v1..v2..и т.д. в)на маус_мув поставил бы что-то вот такое: Код:
_root["h"+Math.round(_xmouse/10)].play(); |
попробовал.работает.вроде бы не тупит.но все равно иногда курсор проскакивает линии. спасибо.
|
добавить
Код:
updateAfterEvent(); |
И что это даст если не секрет? плавность движения курсора?
|
принудительную перерисовку экрана после события.
Хотя может и не помочь в данном случае. PS - модуль = Math.abs(число) |
код у меня получился следующий:
Код:
onClipEvent (mouseMove) { |
можно решить проблему двумя путями:
а) сделать компьютер на лампах, аналоговый. пускай в нём не будет дискретности; б) запоминать предыдущее положение мышки и если какой-то (какие-то) десяток проскочили, "поджигать" его принудительно. |
| Часовой пояс GMT +4, время: 00:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.