![]() |
MOUSE_OVER
Требуется получать событие MOUSE_OVER все время (с некоторым интервалом, например, 10 раз в секунду), пока курсор над объектом, а не только в момент наведения курсора. Как это лучше сделать?
И сразу второй вопрос - как сделать цикл, что бы на каждой итерации была задержка? Пробовал таймер, не получилось. |
Цитата:
|
Да, плохо... Есть работающий пример?
|
Сработал mouseOver, включился таймер, сработал mouseOut, выключился таймер. Только что-то мне подсказывает, что тут лучше пользоваться enterFrame, а не таймером.
|
КорДум: "лучше пользоваться enterFrame"
А если у меня фреймы не меняются? Я скролл делаю. У меня при наведении курсора на объект меняется положение другого объекта (на N пикселей, каждые 1/m сек). |
"enterFrame" работает от количества кадров, не вариант. Таймер здесь в раз будит.
А в целом КорДум прав. |
stweet
Ок. Но все же, как правильно организовать таймер в моем случае? Таймер может генерить event'ы с некоторой периодичностью? |
нет, <<!"enterFrame" работает от количества кадров!>> скинь пример, допишу отдам.
|
stweet
Ну а какой пример? Пусть будет 2 объекта - button и ... да что угодно, например graphic. При наведении курсора на button, graphic должен смещаться вверх на 2 пикселя каждые 1/20 сек. Вот и весь проект :) |
Единственное, добавь булевое значение, сори не дописал, не успел. Если что завтро до помогу.
Код AS3:
|
stweet
Спасибо! |
А вы думаете, что таймер не зависит от кадров? Кадры меняются всегда, не заблуждайтесь. Флешу же нужно обновлять экран. Вот он и обновляет в каждом кадре.
|
Цитата:
Цитата:
если ни совсем явно описал могу пример сделать. Добавлено через 4 минуты КорДум - я бы ещё Мука почитал на вашем месте. Он там целую главу посветил выбору между "Таймер и Ентерфрэйм". |
Я вам советую почитать еще внимательнее и найти место, где Мук говорит про зависимость таймера от кадров. Я также советую вам почитать, что предпочтительнее использовать в той или иной ситуации, дабы вычленить выгоду в оптимизации из этого всего.
3 кадра в секунду? Кто так будет извращаться? Добавлено через 4 минуты И вообще, если автор имеет в виду перетаскивание мышкой слайдера, то тут ни энтерФрейма, ни таймера не надо. mouseMove + updateAfterEvent в помощь. |
Цитата:
|
А все равно меньше 10 мсек таймер не поставить :)
|
в нынешнем FP 10.1 ничего чаще 60 раз в секунду не обновляется. Ни таймер, ни кадры.
Цитата:
Цитата:
|
ненадо ссориться! А беседа интересная! Любопытно было читать!
|
Все получилось. Спасибо за ответы.
|
i.o., а чего это уже 60? Это оптимизацию такую решили сделать и еще больше запретить некоторым обновлять экран 1000 раз в секунду? Хотя да, все равно fps выше 60-70 не поставить, а тут и таймер стал каким-то еще более привязанным к кадрам...
|
КорДум, я могу конечно ошибаться, и был бы даже рад если б это было так ))
Как я не тестил, как ни крутил - 60fps и не больше. С таймером та же история - чаще 60 раз в сек не срабатывает. |
Цитата:
|
| Часовой пояс GMT +4, время: 21:35. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.