Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Выдвижной мувиклип (http://www.flasher.ru/forum/showthread.php?t=124003)

imdogma 17.04.2009 23:39

Выдвижной мувиклип
 
Нужно реализовать, чтоб при наведении небольшой видимый кусочек мувика, он полностью выежал. Думал все просто, хотел сделать вот таким образом:
Код AS1/AS2:

lsmenu.onRollOver = function () {
var showlsMenu:Tween = new Tween(lsmenu, "_x", Regular.easeOut, -200, 0, 1, true);
}
lsmenu.onRollOut = function () {
var showlsMenu:Tween = new Tween(lsmenu, "_x", Regular.easeIn, 0, -200, 1, true);
}

Только вот при наведении мышкой на этот мувик, он начинает бешенно скакать туда-сюда. Что я не так делаю?:rolleyes:

Fatality 18.04.2009 00:50

Тут все зависит от самого клипа, его формы, размера и т.д. Но в целом, я так понимаю, прблема следующая:
1. Наводим мышкой на клип. Первый твин стартует.
2. В процессе анимации, клип уходит из под мыши. Срабатывает второй твин.
3. Присходит тоже самое, но в обратной последовательности.
Но это только предположение, тут надо смотреть исходник.

dimarik 18.04.2009 02:43

Закомментируйте onRollOut и поймете

imdogma 18.04.2009 02:47

Да, проблема похоже в onRollOver. но как же правильно такое реализовать?

dimarik 18.04.2009 02:54

1. роллаут назначать после выполнения полного ролловера

2. не давайте мувику во время твина выходить за мышку. это касается прозрачностей, входящих в его getBounds

imdogma 18.04.2009 03:52

dimarik вот такой роллаут имеется ввиду?
Код AS1/AS2:

lsmenu.onRollOut = function () {
 
showlsMenu.onMotionFinished = function() {
showlsMenu.yoyo();
}
}


dimarik 20.04.2009 01:40

Как-то так. С контекстами в твине мог не угадать. Не имел с ним никогда дела.

Код AS1/AS2:

function lsmenu_onRollOver() {
        delete this.onRollOut;
        var showlsMenu:Tween = new Tween(lsmenu, "_x", Regular.easeOut, -200, 0, 1, true);
        showlsMenu.onMotionFinished = function () {this.onRollOut = lsmenu_onRollOut};
}
 
function lsmenu_onRollOut() {
        delete this.onRollOver;
        var showlsMenu:Tween = new Tween(lsmenu, "_x", Regular.easeOut, 200, 0, 1, true);
        showlsMenu.onMotionFinished = function () {this.onRollOver = lsmenu_onRollOver};
}
 
lsmenu.onRollOver = lsmenu_onRollOver;


Ваня Ветров 15.02.2010 00:56

по моему какая то чушь)))))))

mooncar 15.02.2010 01:11

Ваня Ветров, вы бы со своей проблемой разбирались, а не писали дурацкие комментарии в старых топиках, к тому же не представляя, о чем тут речь шла.

FRAG 15.02.2010 19:00

мувик спрятан:
rollOver = проверяется; RollOut != проверяется.
мувик выдвигается:
rollOver != проверяется; RollOut != проверяется.
мувик выдвинут:
rollOver != проверяется; RollOut = проверяется.
мувик задвигается:
rollOver != проверяется; RollOut != проверяется.

Ваня Ветров 15.02.2010 23:52

А пример можно записать? на будующее)


Часовой пояс GMT +4, время: 07:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.