Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как вращать контейнер c замедлением в конце? (http://www.flasher.ru/forum/showthread.php?t=170328)

sstotenkopf 22.10.2011 16:31

Как вращать контейнер c замедлением в конце?
 
Мне нужно реализовать вращение контейнера с последующим замедлением и далее остановкой, как это можно сделать?

Bgg 22.10.2011 16:42

Использовать твинер, например этот.

sstotenkopf 22.10.2011 16:44

А с помощью rotation нельзя?

in4core 22.10.2011 16:46

Можно. Например по интер-фрейм, крутите крутите, и потом по экспоненте снижаете градус )))

sstotenkopf 22.10.2011 16:47

А пример можно?

in4core 22.10.2011 17:29

только абстрактный
Код AS3:

var slower:int = 30;
function enter_frame():void {
    if(cicle < 3 ) _obj.rotation += 30;
    if(_obj.rotation > 320 ) cicle++;
    if(cicle > 3 ) slower-- , _obj.rotation = _obj.rotation + slower;
}


easy.proger 22.10.2011 18:02

методы
Код AS3:

public function easeIn (t:Number, b:Number, c:Number, d:Number):Number {
        return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
}
public function easeOut (t:Number, b:Number, c:Number, d:Number):Number {
        return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
}
public function easeInOut (t:Number, b:Number, c:Number, d:Number):Number {
        if ((t/=d*0.5) < 1) return -c*0.5 * (Math.sqrt(1 - t*t) - 1) + b;
        return c*0.5 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
}

использование
Код AS3:

... init ... {
    cachedDuration = … // you durationTime
    startValue = youDispObj.youPropertiesValue // you start value
    changeValue = youFinalValue - youDispObj.youPropertiesValue
 
    startTimestamp = date.getTime();
}
function enterFrame():void {
    time = date.getTime() - startTimestamp;
    if (time >= cachedDuration) {
        // removeEnterFrame;
    }
    ratio = easyMethod(time, 0, 1, cachedDuration);
    value = startValue + (ratio * changeValue);
    youDispObj.youPropertiesValue = value;
}



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

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