![]() |
get Timer или SetInterval?)
Всем Привет!)
Этот кусок кода работает хорошо... Курсор наводится на image_mc, image2_mc твинется...). Код:
image_mc.onRollOver = function() Код:
image_mc.onRollOut = function() |
Непонятно изъясняетесь.
Например, Цитата:
PS. Может быть вам нужно использовать что-то вроде Bounce.easeOut или другие разновидности движений? |
происходит image_mc.onRollOut (убирается курсор с image_mc), проходит 5 секунд и происходит твин. Все. Вот такая простая схема.
|
Код AS1/AS2:
|
Для осуществления задержки используйте функцию setTimeout
Код AS1/AS2:
А если курсор уходит с image_mc в промежутке, пока идет анимация? Или например при этом потом сразу же опять происходит RollOver? Запоминается ли эта последовательность и ее отработка должна произойти своим чередом, или более позднее событие over или out должно перекрывать предыдущее запланированное или уже начатое и его Tween? Эти вещи тоже бы предусмотреть нужно. |
Мистер Пол! Все работает! Вауу! Как и надо! Вауу, Вауу, Вауу! О, е-е-е-е-е! Ё-ё-ё-ё!
Мункар, setTimeout что то вообще ни как.... Даже в хелпе флэша такого нет). Хотя у Гурского об этом есть не много "Аналогичной функции setInterval() ActionScript является функция setTimeout() Javascript." |
Ваше, конечно, дело, но потестируйте то, что у вас есть сейчас, имея ввиду эффекты разные, которые могут быть при произвольном уведении-наведении мыши уже в процессе анимации.
Возможно не все так просто, движения могут наслаиваться и нужно еще несколько дополнительных телодвижений: Код AS1/AS2:
PS. А вообще-то setTimeout очень даже "как" - ведь он проще, чем setInterval, так как не нужно стирать интервал, после первого выполнения он очистится автоматически. То есть на одну строку кода меньше. Хелп юзайте! :) |
смотрел я хелп и 8 макромедии и 2004 мх, нету там ни чего про setTimeout, но ваш пример попробую.
|
Ага. Да бог с ним, с setTimeout.
Ваня Ветров, вы представляете, что должно происходить, если курсор уводится / наводится уже в процессе происходящей анимации? Не то, чтобы сильно меня это заботит, просто любых грабель можно избежать, если заранее об этом подумать. Если бы не отсрочка, все было бы не так важно. Ведь в примере mr_pol (да и у вас изначально) движения, по крайне мере, img_Tween, будут наслаиваться, если многократно уводить - наводить мышь, и результирующее движение будет не совсем то, что вы ждете. |
mooncar тестанул мистера Пола скрипт на низких скоростях твина где то на 19. Да! Присутствует глюк.) Суть его такова. Происходит РоллАут, включается задержка, начинает выполняться твин.... картинка медленно ползет куда ей нужно. Не долго думая инициирую РоллОвер. Включается твин РоллОвера, картинка занимает финальное положение, небольшая задержка, а потом она стремительно уноситься на ту позицию в которой она находилась до РоллОвера и продолжает довершать твин вызванный РоллАутом. Агась). Но на высоких скоростях, пока глюков не было замечено). Как эту болезнь побороть. Ваш скрипт не много мне не подходит. Не должно быть выключенного Энейбледа. У меня есть мыслишка, что можно попытаться как то задействовать для первоначальной цели онЭнтерФрейм? Жду выших Ответов!)
|
Я об этом как раз и говорил все время.
Самое главное - вам нужно понять, как должны вести себя Tween при различных обстоятельствах, при различных over / out, дальнейшее дело техники, точнее кода. Перечитайте также мой последний вопрос из п.5 и постарайтесь на него ответить. То есть - "1) Что должно происходить с отложенным Tween2, если мышь была уведена, а потом снова наведена на картинку?" "2) Что должно происходить с уже осуществляющимся Tween2 обратного хода, если уже в его процессе навели мышь на картинку?" А также: "3) Что должно происходить с прямой анимацией Tween, если вступает в силу обратная отложенная?" От ответа на эти вопросы и зависит алгоритм. Я их не знаю - вам виднее. Но если ответите, то могу попробовать подсказать. Кстати - не нужно везде пихать onEnterFrame. Сперва разберитесь, как и что у вас должно работать, то есть ТЗ поставьте, хотя бы сами себе и мысленно,ответьте на вопросы выше и сразу станет легче и правильнее писать код. |
1) Что должно происходить с отложенным Tween2, если мышь была уведена, а потом снова наведена на картинку?
- Ничего. Tween2 (теперь уже условно)) должен быть забыт. При онРоллОвере должен быть начат строго твин цель которого поместить картинку в нужную точку. 2) Что должно происходить с уже осуществляющимся Tween2 обратного хода, если уже в его процессе навели мышь на картинку?" - Наверное Tween2 должен быть тут же прекращен, аннулирован, аннигилированн). В тоже время с места в котором картинка была застигнута в расплох онРоллОвером должен начаться твин возвращающий картинку на первое место, т.е. на то начальное положение которое она занимала до онРоллАута и задержки. 3) Что должно происходить с прямой анимацией Tween, если вступает в силу обратная отложенная? - Обратная отложенная в такой момент должна находиться в другой вселенной и ни как не влиять на работу первого твина. Или не существовать совсем. Смысл скрипта следующий. Событие А: Происходит твин (А) который помещает маленькую картинку (а) на большую картинку (б). Событие Б: На картинке (б) происходит событие онРоллАут, включается таймер, по пошествию обределенного колличества времени происходит твин Б - маленькая картинка(а) уезжает с большой картинки (б) Вдруг неожиданно происходит.... Событие С: На картинке (б) происходит событие онРоллОвер и маленькая картинка возвращается в тоже положение которое ей было назначенно в твине (А) Тут же не успев занять положенное ей положение происходит... Событие D: На картинке (б) опять происходит событие онРоллАут, но уже таймер не включается..., картинка(а) тут же начинает твин (С) цель которого поместить картинку (а) в тоже положение что и твин(Б). Как все усложнилось из за таймера. Без него все работало как часы). Курсор наводился картинка появлялась, курсор уводился картинка убиралась. Какая то заморочка с clearInterval......хм-хм-хм. |
Цитата:
|
проблема действительно с твинами).
|
| Часовой пояс GMT +4, время: 12:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.