我有麻烦,我在pygame的子弹计算x和y的值

问题描述 投票:-1回答:1

我试图创建一个使用pygame的Python中的游戏。在我的游戏中你是一个男人和你身边有很多僵尸谁,你一定要拍,但我不明白如何让每一次我的性格拍在鼠标的方向子弹在设定的速度。我的游戏是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)

预先感谢您非常多。

python pygame
1个回答
0
投票

你需要知道angle或者如果不是你需要一个明确的x_speedy_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)
© www.soinside.com 2019 - 2024. All rights reserved.