Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2009, 21:28
Chuck607 вне форума Посмотреть профиль Отправить личное сообщение для Chuck607 Найти все сообщения от Chuck607
  № 1  
Ответить с цитированием
Chuck607

Регистрация: Nov 2009
Сообщений: 40
По умолчанию как проверить сделал ли клип полный поворот?

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

Старый 24.11.2009, 21:34
spooner вне форума Посмотреть профиль Отправить личное сообщение для spooner Найти все сообщения от spooner
  № 2  
Ответить с цитированием
spooner
 
Аватар для spooner

Регистрация: Mar 2009
Сообщений: 207
Ну вы его через _rotation поворачиваете? Через него и проверяйте, повернулся ли он на 360.

Старый 24.11.2009, 21:38
Chuck607 вне форума Посмотреть профиль Отправить личное сообщение для Chuck607 Найти все сообщения от Chuck607
  № 3  
Ответить с цитированием
Chuck607

Регистрация: Nov 2009
Сообщений: 40
Да но в
Код AS1/AS2:
trace(clip._rotation);
нет 360 градусов

Старый 24.11.2009, 21:45
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 4  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Код AS1/AS2:
var realRotation:Number = 0;
myClip.onEnterFrame = function():Void {
         this._rotation++
         realRotation++
         if (realRotation >= 360) {
            //полный поворот был совершен
            realRotation = 0
         }
}
Думаю, под себя сделать сможете


Последний раз редактировалось Zik.; 24.11.2009 в 22:05.
Старый 25.11.2009, 13:27
Chuck607 вне форума Посмотреть профиль Отправить личное сообщение для Chuck607 Найти все сообщения от Chuck607
  № 5  
Ответить с цитированием
Chuck607

Регистрация: Nov 2009
Сообщений: 40
Не получается, дело в том что мой клип поворачивается мышой:
Код 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 ?

Старый 25.11.2009, 14:00
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 6  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
может попробовать так
Код 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

Старый 25.11.2009, 14:22
Chuck607 вне форума Посмотреть профиль Отправить личное сообщение для Chuck607 Найти все сообщения от Chuck607
  № 7  
Ответить с цитированием
Chuck607

Регистрация: Nov 2009
Сообщений: 40
Хм.. будем пробовать! спасибо !!

Работает !!!!


Последний раз редактировалось Chuck607; 25.11.2009 в 14:32.
Старый 25.11.2009, 14:29
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 8  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Не забудьте также сделать, что если меньше нуля, то реальный угол оотнимается
Код 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, время: 22:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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