Форум 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=104561)

ttu 28.11.2007 00:27

Увеличение/уменьшение объекта
 
Всем привет!

На днях столкнулся с интересной проблемой. Буду рад, если кто-нибудь подкинет идею решения этой проблемы.

А суть вот в чем.
Есть мувиклип.
С 1 по 12й кадр в нем простая анимация увеличения объекта с размера X до размера Y.
А с 13 по 24й кадр - наоборот: уменьшение объекта с размера Y до размера X.
На первый кадр поставил метку "plus", на 13й - "minus".

Чего я хотел добиться: чтобы при rollOver'е на этот мувик объект начинал увеличиваться, а при rollOut'e уменьшаться с помощью gotoAndPlay("соответствующая метка");
Но! Если мышь убрать с объекта, когда еще объект не увеличился до конца, то получается что размер объекта резко перескакивает уже на увеличенное состояние.
А хочется, чтобы если увеличение остановилось на 7м например кадре, то и уменьшение пошло с размера, который был у объекта в 7м кадре.

Посему вопрос: как это грамотно реализовать?

CrazyFlasher 28.11.2007 00:35

на сцене мувик "mc"

Код:

mc.onRollOver = function(){
        mc.onEnterFrame = function(){
                zoomIn(true);
        }
}
mc.onRollOut = function(){
        mc.onEnterFrame = function(){
                zoomIn();
        }
}

function zoomIn(zoom:Boolean){
        if(zoom){
                if(mc._xscale < 125){
                        mc._xscale += 5;
                }else{
                        delete mc.onEnterFrame;
                }
        }else{
                if(mc._xscale > 100){
                        mc._xscale -= 5;
                }else{
                        delete mc.onEnterFrame;
                }
        }
        mc._yscale = mc._xscale;
}


ttu 28.11.2007 01:48

Ок. Ясно. Спасибо.

Но что будет если к процессу масштабирования добавить еще процесс смещения по траектории, причем не по графику какой-то конкретной функции, а от балды нарисовать линию и сделать ее слой guide'ом? Получается, что изменение координат объекта, как масштабирование, программно не опишешь. Как тогда быть?

CrazyFlasher 28.11.2007 01:56

Код:

btn.onRollOver = function(){
        mc.onEnterFrame = function(){
                mc.gotoAndStop(mc._currentframe+1)
        }
}
btn.onRollOut = function(){
        mc.onEnterFrame = function(){
                mc.gotoAndStop(mc._currentframe-1)
        }
}

внутри мувика "mc" какая-нить анимация, "btn" - какая-нить кнопка или мувик

ttu 28.11.2007 02:33

Да. Пожалуй, это то, что мне нужно! Спасибо!


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

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