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

noode 09.06.2010 23:25

ротация
 
Дорого времени суток!
Такой вопрос как правильно ротировать мувик в ту или иную сторону на 90 градусов?
Соответсвенно что бы мувик плавно двигался до своего положения тоесть от 0 до 90 крутился, а дойдя до 90 остановился

djken 09.06.2010 23:48

mc - ваш мувик на сцене, который нужно повернуть на 90 градусов. В кадре пишем такой скрипт:
Код AS1/AS2:

mc.onEnterFrame=function(){
  this._rotation+=5;
  if (this._rotation>=90){
      this._rotation=90;
      delete this.onEnterFrame;
  }
}

или второй вариант - намного удобней:

Код AS1/AS2:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
new Tween(mc, "_rotation", Regular.EaseOut, 0, 90, 1, true);


noode 09.06.2010 23:52

ну это то ясно.
а мне нужно что бы при дальнейшем нажатии еще на 90 градусов

djken 10.06.2010 00:02

ну что тут сложного? Немножко подумать и переделать скрипт что я дал.
На сцене: mc - ваш мувик для вращения. btn - мувик-кнопка.

Код AS1/AS2:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
btn.onRelease=function(){
    new Tween(mc, "_rotation", Regular.EaseOut, mc._rotation, mc._rotation+90, 1, true);
}


noode 10.06.2010 00:27

не работает

tsarapkabel 10.06.2010 11:58

Ничего себе, какой ты привередливый, noode!

KiL33 10.06.2010 12:27

.easeOut с нижнего регистра

noode 10.06.2010 12:36

вот теперь работет, нужно сесть и почитать про tween, не работал с ним еще...
А как тут тогда указать то что если мувиклип не повернулся на 90 градусов, то нельзя нажать на кнопку...
а то получается только нажал на кнопку, можно нажать еще раз и он прокрутится неровно ... тоесть при двойном нажатии должен был прокрутиться на 180, апрокрутиться на меньшее.

KiL33 10.06.2010 12:54

Код AS1/AS2:

import mx.transitions.Tween;
import mx.transitions.easing.*;
 
btn.onRelease = rotationTween
function rotationTween():Void {
        btn.enabled = false
        tw = new Tween(mc, "_rotation", Regular.easeOut, mc._rotation, mc._rotation+90, 1, true);
 
        tw.onMotionFinished = function() {
                  btn.enabled = true
        }
}



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

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