С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
klast
тыдыщ
203 / 186 / 166
Регистрация: 19.01.2011
Сообщений: 476
1

Поворот объекта за курсором

20.07.2014, 16:38. Просмотров 1099. Ответов 4
Метки нет (Все метки)

хочу сделать поворота плеера в сторону курсора, но кажется в математику не смог
спрайт всегда смотрит вверх и мне надо узнать угол между вектором от плеера вверх и от плеера до х у маусая
а кос между векторами считал по формуле http://www.cyberforum.ru/cgi-bin/latex.cgi?cos = \frac{\bar{coordOfFirstVector } * \bar{coordOfSecondVector } }{|\bar{coordOfFirstVetor }| * |\bar{coordOfSecondVector }|}
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
stage.addEventListener(Event.ENTER_FRAME, lineOfFire);
            function lineOfFire(e:Event):void
            {
                var coordOfFirstVectorX: int; 
                var coordOfSecondVectorX: int;
                var coordOfFirstVectorY: int; 
                var coordOfSecondVectorY: int;
                coordOfFirstVectorX = player.x;
                coordOfFirstVectorY = player.y - 10;
                coordOfSecondVectorX = mouseX - player.x;
                coordOfSecondVectorY = mouseY - player.y;
                var cosOfVectors: Number;
                var degreeOfRotation: Number;
                cosOfVectors = (coordOfFirstVectorX * coordOfSecondVectorX + coordOfFirstVectorY * coordOfSecondVectorY) / (Math.sqrt(coordOfFirstVectorX * coordOfFirstVectorX + coordOfFirstVectorY * coordOfFirstVectorY) * (Math.sqrt(coordOfSecondVectorX * coordOfSecondVectorX + coordOfSecondVectorY * coordOfSecondVectorY)));
                degreeOfRotation = Math.acos(cosOfVectors) * 360 / Math.PI;
                //расчет угола поворота спрайта к курсору
                
                player.rotation = degreeOfRotation;
            }
0
Миниатюры
Поворот объекта за курсором  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2014, 16:38
Ответы с готовыми решениями:

Поворот объекта
Здравствуйте! Есть местность (обычный квадрат), в котором по клику мыши...

Перемещение на клик мыши и поворот за курсором мыши
Как сделать чтобы смешарик шёл на клик мыши и поворачивался в сторону курсора?...

Поворот объекта вокруг оси
Доброго времени суток, есть объект в виде круга,на нем две прозрачных области...

Поворот объекта внутри класса
Осваиваю actionscript и в процессе возник следующий вопрос: После помещения...

Поворот объекта вокруг центра
Имеется векторная картинка. Хочу, чтобы она всегда была повернута на указатель...

4
klast
тыдыщ
203 / 186 / 166
Регистрация: 19.01.2011
Сообщений: 476
20.07.2014, 16:47  [ТС] 2
Цитата Сообщение от klast Посмотреть сообщение
degreeOfRotation = Math.acos(cosOfVectors) * 360 / Math.PI;
тут 180
0
TanaTiX
Модератор
2796 / 1650 / 168
Регистрация: 19.02.2011
Сообщений: 6,007
Завершенные тесты: 2
20.07.2014, 17:46 3
Math.atan2
1
klast
тыдыщ
203 / 186 / 166
Регистрация: 19.01.2011
Сообщений: 476
22.07.2014, 17:47  [ТС] 4
TanaTiX, если честно, то я не допонял, чем это мне поможет

Добавлено через 22 минуты
я же считаю тоже самое, только центр - плеер
0
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
22.07.2014, 18:22 5
Лучший ответ Сообщение было отмечено klast как решение

Решение

ActionScript 3
1
2
3
4
const RAD_TO_DEGREES:Number = 180 / Math.PI;
var mouseX:Number;
var mouseY:Number;
obj.rotation = Math.atan2(mouseY - obj.y, mouseX - obj.x) * RAD_TO_DEGREES;

Не по теме:

P.S. по-моему пора уже в FAQ добавить

2
22.07.2014, 18:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2014, 18:22

Поворот объекта за курсором в 2D
Здравствуйте, знатоки. Дело такое, разрабатываю игру, что-то типо 2D шутера с...

Поворот объекта за курсором мыши с анимацией
При повороте между 179 и -179 градусами прямоугольник переворачивается на...

Поворот GameObject`a за курсором мыши
Здравствуйте! Задача такая. Есть объект (в данном случае пушка). Сверху...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru