У меня проблемы с вычислением значений x и y для моих пуль в Pygame - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь создать игру на python, используя pygame.В моей игре вы - человек, и вокруг вас много зомби, которых вы должны стрелять, однако я не могу понять, как заставить моего персонажа стрелять в направлении мыши с заданной скоростью каждый раз.Моя игра 2D и имеет вид сверху спрайтов на экране.

Код будет выглядеть примерно так:

class bullet:
       def __init__(self, x, y, speed):
               self.x = x
               self.y = y
               self.speed = speed
       def move(self):
               This is where you guys come in
       def draw(self):
               pygame.draw.circle(screen,(0,0,0),(self.x,self,y,5)

Заранее большое спасибо.

1 Ответ

0 голосов
/ 02 февраля 2019

вам нужно знать angle или, если нет, вам нужны явные x_speed и y_speed ...

, если у вас есть угол, вы можете вычислить его

x_speed = math.cos(angle)*speed
y_speed = math.sin(angle)*speed

тогда на каждом шаге

new_x = old_x + x_speed
new_y = old_y + y_speed

вы можете получить угол с помощью math.atan2

angle = math.atan2(character.x-mouse.x,character.y-mouse.y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...