Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2013 18:34:39

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Имитация полёта пули 2d

Тема проезженная вроде бы, но что-то никак не могу нагуглить (
Имеется игрок с координатами playerx, playery и цель (то есть те координаты, где кликнули мышкой) targetx, targety

И нужно, чтобы пуля плавно и чётко прошла от игрока к цели.
Вот, что мне удалось своими силами:

        angle = math.atan(float((playery - targety)) / (targetx - playerx))
        self._dirx = int(round(BULLETSPEED * math.cos(angle)))
        self._diry = -int(round(BULLETSPEED * math.sin(angle)))

dirx, diry - это направление пули по осям
Естественно, оно “кострубатое”, да к тому же в некоторых “зонах” пуля летит прямо в обратную сторону.
Помогите, кто чем может )



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#2 Сен. 23, 2013 19:34:03

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Имитация полёта пули 2d

Офлайн

#3 Сен. 23, 2013 19:40:34

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Имитация полёта пули 2d

В том то и дело, что не совсем это. А как в игре crimsonland, например. Тобишь игрок перемещается по экрану и пули может выпускать на все стороны, они должны плавно по данным направлениям лететь



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#4 Сен. 23, 2013 22:33:21

Master_Sergius
Зарегистрирован: 2013-09-12
Сообщения: 271
Репутация: +  7  -
Профиль   Отправить e-mail  

Имитация полёта пули 2d

Я нашел в чём прикол. Тут надо, блин, знаки расставлять руками, обрастает на пару ифов. Но вот, пришло ещё прозрение: а что если это сделать как-то так:

        self._dirx = int(round((targetx - playerx)/SPEED_KOEFFICIENT)))
        self._diry = -int(round((targety - playery)/SPEED_KOEFFICIENT)))

Только ещё не придумал, как правильно высчитать этот коэффициэнт, ибо ж расстояния-то разные…



———————————————————————————
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/

Офлайн

#5 Сен. 24, 2013 08:42:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Имитация полёта пули 2d

Бред какой-то



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version