Форум сайта python.su
Тема проезженная вроде бы, но что-то никак не могу нагуглить (
Имеется игрок с координатами 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)))
Офлайн
Офлайн
В том то и дело, что не совсем это. А как в игре crimsonland, например. Тобишь игрок перемещается по экрану и пули может выпускать на все стороны, они должны плавно по данным направлениям лететь
Офлайн
Я нашел в чём прикол. Тут надо, блин, знаки расставлять руками, обрастает на пару ифов. Но вот, пришло ещё прозрение: а что если это сделать как-то так:
self._dirx = int(round((targetx - playerx)/SPEED_KOEFFICIENT))) self._diry = -int(round((targety - playery)/SPEED_KOEFFICIENT)))
Офлайн
Бред какой-то
Офлайн