![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2009
Сообщений: 27
|
Всем Привет!)
Этот кусок кода работает хорошо... Курсор наводится на image_mc, image2_mc твинется...). image_mc.onRollOver = function()
{var img_Tween:Tween = new Tween(image2_mc, "_y", Elastic.easeOut, image2_mc._y,60, 1.7, true);};
image_mc.onRollOut = function()
{var img_Tween2:Tween = new Tween(image2_mc, "_y", Elastic.easeOut, image2_mc._y,-60, 1.7, true);};
![]() ![]() ![]() |
|
|||||
|
Модрон-ветеринар
|
Непонятно изъясняетесь.
Например, Цитата:
PS. Может быть вам нужно использовать что-то вроде Bounce.easeOut или другие разновидности движений? Последний раз редактировалось mooncar; 27.02.2010 в 00:32. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 27
|
происходит image_mc.onRollOut (убирается курсор с image_mc), проходит 5 секунд и происходит твин. Все. Вот такая простая схема.
|
|
|||||
func = function () { var img_Tween2:Tween = new Tween(image2_mc, "_y", Elastic.easeOut, image2_mc._y, -60, 1.7, true); clearInterval(interval); }; image_mc.onRollOver = function() { clearInterval(interval); var img_Tween:Tween = new Tween(image2_mc, "_y", Elastic.easeOut, image2_mc._y, 60, 1.7, true); }; image_mc.onRollOut = function() { interval = setInterval(func, 5000); }; |
|
|||||
|
Модрон-ветеринар
|
Для осуществления задержки используйте функцию setTimeout
Есть нюансы: А если курсор уходит с image_mc в промежутке, пока идет анимация? Или например при этом потом сразу же опять происходит RollOver? Запоминается ли эта последовательность и ее отработка должна произойти своим чередом, или более позднее событие over или out должно перекрывать предыдущее запланированное или уже начатое и его Tween? Эти вещи тоже бы предусмотреть нужно. Последний раз редактировалось mooncar; 27.02.2010 в 11:38. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 27
|
Мистер Пол! Все работает! Вауу! Как и надо! Вауу, Вауу, Вауу! О, е-е-е-е-е! Ё-ё-ё-ё!
Мункар, setTimeout что то вообще ни как.... Даже в хелпе флэша такого нет). Хотя у Гурского об этом есть не много "Аналогичной функции setInterval() ActionScript является функция setTimeout() Javascript." |
|
|||||
|
Модрон-ветеринар
|
Ваше, конечно, дело, но потестируйте то, что у вас есть сейчас, имея ввиду эффекты разные, которые могут быть при произвольном уведении-наведении мыши уже в процессе анимации.
Возможно не все так просто, движения могут наслаиваться и нужно еще несколько дополнительных телодвижений: import mx.transitions.Tween; var tweenHolder:Object = new Object(); image_mc.onRollOut = imgOut; image_mc.onRollOver = imgOver; function imgOver () { image_mc.enabled = false ; tweenHolder['off'].stop(); tweenHolder['on'] = new Tween(image2_mc, "_y", mx.transitions.Elastic.easeOut, image2_mc._y, 60, 1.7, true); tweenHolder['on'].onMotionFinished = imgEnable; } function delayedTween () { image_mc.enabled = false ; tweenHolder['on'].stop(); tweenHolder['off'] = new Tween(image2_mc, "_y", mx.transitions.Elastic.easeOut, image2_mc._y, -60, 1.7, true); tweenHolder['off'].onMotionFinished = imgEnable; } function imgOut () { to = setTimeout(delayedTween, 3000); } function imgEnable () { image_mc.enabled = true ; } PS. А вообще-то setTimeout очень даже "как" - ведь он проще, чем setInterval, так как не нужно стирать интервал, после первого выполнения он очистится автоматически. То есть на одну строку кода меньше. Хелп юзайте! ![]() Последний раз редактировалось mooncar; 27.02.2010 в 12:47. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 27
|
смотрел я хелп и 8 макромедии и 2004 мх, нету там ни чего про setTimeout, но ваш пример попробую.
|
|
|||||
|
Модрон-ветеринар
|
Ага. Да бог с ним, с setTimeout.
Ваня Ветров, вы представляете, что должно происходить, если курсор уводится / наводится уже в процессе происходящей анимации? Не то, чтобы сильно меня это заботит, просто любых грабель можно избежать, если заранее об этом подумать. Если бы не отсрочка, все было бы не так важно. Ведь в примере mr_pol (да и у вас изначально) движения, по крайне мере, img_Tween, будут наслаиваться, если многократно уводить - наводить мышь, и результирующее движение будет не совсем то, что вы ждете. Последний раз редактировалось mooncar; 27.02.2010 в 12:20. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 27
|
mooncar тестанул мистера Пола скрипт на низких скоростях твина где то на 19. Да! Присутствует глюк.) Суть его такова. Происходит РоллАут, включается задержка, начинает выполняться твин.... картинка медленно ползет куда ей нужно. Не долго думая инициирую РоллОвер. Включается твин РоллОвера, картинка занимает финальное положение, небольшая задержка, а потом она стремительно уноситься на ту позицию в которой она находилась до РоллОвера и продолжает довершать твин вызванный РоллАутом. Агась). Но на высоких скоростях, пока глюков не было замечено). Как эту болезнь побороть. Ваш скрипт не много мне не подходит. Не должно быть выключенного Энейбледа. У меня есть мыслишка, что можно попытаться как то задействовать для первоначальной цели онЭнтерФрейм? Жду выших Ответов!)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|