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

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

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

Регистрация: Feb 2012
Сообщений: 63
По умолчанию Поворот в сторону движения

Доброго времени суток.

Стоит следующая задача: есть объект 2, который нужно повернуть в сторону движения к красному кругу (примерно так, как повёрнут объект 1). Как высчитать угол поворота?

Заранее спасибо за ответ.
Изображения
 

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
Math.atan2()

Старый 10.04.2012, 23:39
Halfist вне форума Посмотреть профиль Отправить личное сообщение для Halfist Найти все сообщения от Halfist
  № 3  
Ответить с цитированием
Halfist

Регистрация: Feb 2012
Сообщений: 63
Т.е., насколько я понял, будет что-то вроде:
Код AS3:
rectangle.rotation += Math.atan2(redCircle.x, redCircle.y);
Так?

Старый 10.04.2012, 23:43
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 4  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
нет, примерно так:
Код AS3:
rect.rotation = Math.atan2(redCircle.x-rect.x, redCircle.y-rect.y);
Хотя не помню, в чем задается угол для rotation, в радианах или градусах. Math.atan2 возвращает точно в радианах. Вполне вероятно необходим перевод из радиан в градусы

Старый 11.04.2012, 00:25
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
rotation в градусах
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
И первым параметром в Math.atan2 идёт "y", а затем "x".

Старый 11.04.2012, 00:43
Halfist вне форума Посмотреть профиль Отправить личное сообщение для Halfist Найти все сообщения от Halfist
  № 7  
Ответить с цитированием
Halfist

Регистрация: Feb 2012
Сообщений: 63
Крутит неверно.

Код AS3:
stage.addEventListener(MouseEvent.CLICK, onStageClick);
 
function onStageClick(event:MouseEvent):void
{
	rect.rotation = Math.atan2(event.stageY - rect.y, event.stageX - rect.x) * 180 / Math.PI;
}
Добавлено через 9 минут
Заработало, когда к углу в градусах прибавил 90.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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