Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2009 16:59:06

nJLyTo
От:
Зарегистрирован: 2008-11-11
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Движение объектов на плоскости

Для расчета направления движения использую простые формулы:

import math

obj_angle = 0.
obj_speed = 5
obj_rot_speed = 1.

def up():
direction = (obj_angle * math.pi)/180
obj_x += math.cos(direction) * obj_speed
obj_y += math.sin(direction) * obj_speed

def down():
direction = (obj_angle * math.pi)/180
obj_x -= math.cos(direction) * obj_speed
obj_y -= math.sin(direction) * obj_speed

def right():
obj_angle += obj_rot_speed

def left():
obj_angle -= obj_rot_speed
В теории все хорошо, но на практике получаем непонятное подергивание, как будто объект прыгает с пикселя на пиксель. Как этого можно избежать?



Офлайн

#2 Дек. 21, 2009 19:01:43

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Движение объектов на плоскости

Подёргивание из-за дробной части, скорее всего. Избежать можно округляя реальные координаты до целого самому.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version