Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Странное поведение объекта в 2D (https://javascript.ru/forum/misc/16082-strannoe-povedenie-obekta-v-2d.html)

Flirer 25.03.2011 13:16

Странное поведение объекта в 2D
 
Всем привет.
Сейчас экспериментирую с canvas и 2d. Есть объект который прорисовывается по координатам, поворачивается в сторону, в которую смотрит мышь. Вроде как всё работает, но объект "дёргается". Проще посмотреть вложенный файл. :) Может кто-то делал нечто подобное и знает откуда берётся это дёрганье?

http://ifolder.ru/22602812

Спасибо.

Flirer 25.03.2011 20:37

Немного покопался и нашёл такую неприятность:

function moveObj(obj) {
	var X = Math.cos(obj[6]);
	var Y = Math.sin(obj[6]);
	obj[1] += X;
	obj[2] += Y;
}


Этот код берёт угол объекта(obj[6]), меряет по нему синус и косинус и обновляет координаты (obj[1] и obj[2]). Проблема в том что периодически он даёт очень странные значения синуса и косинуса которые и приводят к дрыганью. Ниже версия в которой записываются данные, где наглядно видно когда и какой sin и cos получались.

Всё ещё очень нуждаюсь в помощи :)

http://ifolder.ru/22611344

monolithed 25.03.2011 21:16

Цитата:

Сообщение от Flirer
Всё ещё очень нуждаюсь в помощи

с файлообменника ваш пример качать никто не будет, дайте ссылку на jsfiddle

Flirer 25.03.2011 21:53

Он там почему-то не работает :/

http://jsfiddle.net/zL3yZ/

Gvozd 25.03.2011 23:24

поставь себе фаербаг, и не еби людям мозги.
ты видел, как твоя прога срет в логи ошибок?!
вот, полюбуйся, и сам разгребай это дерьмо

Flirer 26.03.2011 10:16

Я работал с chrome, там всё нормально, ну спасибо и на этом, в firefox действительно какой-то ад творится.

Проблему решил, в javascript когда в функцию Math.cos вводишь число, нужно переводить его из градусов в радианы...


Часовой пояс GMT +3, время: 12:29.