我已经考虑了你的评论。 每当我按住射击按钮时,只会出现一颗子弹,当我按下它并松开它时,它就会消失。看到我试图删除
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(...)