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

Chuck607 24.11.2009 21:28

как проверить сделал ли клип полный поворот?
 
Доброго времени суток! у меня такой вопрос, как проверить сделал ли клип полный поворот на 360 градусов?

spooner 24.11.2009 21:34

Ну вы его через _rotation поворачиваете? Через него и проверяйте, повернулся ли он на 360.

Chuck607 24.11.2009 21:38

Да но в
Код AS1/AS2:

trace(clip._rotation);

нет 360 градусов

Zik. 24.11.2009 21:45

Код AS1/AS2:

var realRotation:Number = 0;
myClip.onEnterFrame = function():Void {
        this._rotation++
        realRotation++
        if (realRotation >= 360) {
            //полный поворот был совершен
            realRotation = 0
        }
}

Думаю, под себя сделать сможете

Chuck607 25.11.2009 13:27

Не получается, дело в том что мой клип поворачивается мышой:
Код AS1/AS2:

var rotate:Number = Math.atan2(_ymouse-my_clip._y, _xmouse-my_clip._x)+Math.PI/2;
my_clip._rotation = (180/Math.PI)*rotate;

Как можно проверить сделал ли клип полный поворот на 360 ?

Zik. 25.11.2009 14:00

может попробовать так
Код AS1/AS2:

if (lastRotation > my_clip._rotation) {
    if (lastRotation - my_clip._rotation > 0) {
      realRotation += lastRotation - my_clip._rotation;
  }
}
if (lastRotation < my_clip._rotation) {
    if (my_clip._rotation - lastRotation > 0) {
      realRotation += my_clip._rotation - lastRotation;
  }
}

То есть, если данный_угол - прошлый_угол больше нуля, то тогда мы продвигаемся вперед и можно плюсовать realRotation

Chuck607 25.11.2009 14:22

Хм.. будем пробовать! спасибо !!

Работает !!!! ;)

Zik. 25.11.2009 14:29

Не забудьте также сделать, что если меньше нуля, то реальный угол оотнимается
Код AS1/AS2:

if (lastRotation > my_clip._rotation) {
    if (lastRotation - my_clip._rotation > 0) {
      realRotation += lastRotation - my_clip._rotation;
    } else {
      realRotation -= lastRotation - my_clip._rotation;
    }
}
if (lastRotation < my_clip._rotation) {
    if (my_clip._rotation - lastRotation > 0) {
      realRotation += my_clip._rotation - lastRotation;
    } else {
      realRotation -= my_clip._rotation - lastRotation;
}



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

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