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

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

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

Регистрация: Sep 2011
Сообщений: 27
The bomb! проблемы с разворотом

всем привет. нашел исходник вращения пушки (слежение за курсором) вокруг своей оси и решил его переделать на повороты на 90 градусов (пушка смотрит прямо, от центра поворачивается направа на 90 и не поворачивается дальше и так же налево), пробовал менять значения - но у меня все не выходит..
Код AS3:
private function updateRotation():void
       {
           // РАСЧЕТ ВРАЩЕНИЯ ПУШКИ
           dx = player.x - stage.mouseX;
           dy = player.y - stage.mouseY;
 
           // В КАКУЮ СТОРОНУ ПОВОРАЧИВАТЬ
           var rotateTo:Number = getDegrees(getRadians(dx, dy));  
 
  // ПОВОРАЧИВАТЬ ОТ 0 ДО 360 ГРАД
           if (rotateTo > player.rotation + 180) rotateTo -= 360;
           if (rotateTo < player.rotation - 180) rotateTo += 360;
 
           // ЛЕГКОСТЬ ВРАЩЕНИЯ
           trueRotation = (rotateTo - player.rotation) /rotateSpeedMax;
  player.rotation += trueRotation;
       }  
public function getRadians(delta_x:Number, delta_y:Number):Number
       {
           var r:Number = Math.atan2(delta_y, delta_x);
  if (delta_y < 0)
           {
               r += (2*Math.PI);
           }
           return r;
       }
 
       public function getDegrees(radians:Number):Number
       {
                       return Math.floor(radians/(Math.PI/180));
       }
пробовал и rotateTo менять, и r - но получается какая-то ересь..


Последний раз редактировалось alexcon314; 14.05.2012 в 13:05.
Создать новую тему   Часовой пояс GMT +4, время: 18:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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