只要按住射击按钮,如何射击多颗子弹



我已经考虑了你的评论。 每当我按住射击按钮时,只会出现一颗子弹,当我按下它并松开它时,它就会消失。看到我试图删除

if event.type == pygame.KEYUP :
if event.key == pygame.K_SPACE :
shoot = False

子弹一路出现,但只有一个,我想要多个。请帮忙。

def release_bullet_f (x, y):

global shoot
shoot = True
screen.blit(bullet_img, (x+16, y))

在主循环中:

for event in pygame.event.get():
if event.type == pygame.KEYDOWN :
if event.key == pygame.K_SPACE :
shoot = True
bulletX = playerX
bulletY = playerY
release_bullet_f(bulletX, bulletY)
if event.type == pygame.KEYUP :
if event.key == pygame.K_SPACE :
shoot = False
if shoot == True:
release_bullet_f(bulletX, bulletY)
bulletY += bulletY_change

你有一个运行的主循环

,它运行如下
# MAINLOOP
if event.type == pygame.KEYDOWN:
# ... some other stuff
if event.key == pygame.K_SPACE:
shoot = True
# ... some other stuff
if event.type == pygame.KEYUP:
# ... some other stuff
if event.key == pygame.K_SPACE:
shoot = False

然后稍后在同一个循环中你有

if shoot == True: # If the signal has been given to shoot
# ... some stuff to shoot the next bullet
drawBullets(...)

最新更新