我正在为学校做一个python编码项目,我需要编写一个从特定blit射出子弹的pygame。
我尝试使用此代码,
if (event.type == pygame.KEYDOWN):
if (event.key == pygame.K_SPACE):
screen.blit(projectile,(projectilex,projectiley))
射弹的x
坐标等于它射击的玩家x
坐标。所以喜欢:
projectilex = playerx
它仅在屏幕上显示1秒钟然后消失。我需要从播放器的x
开始并增加它的y
值,直到它到达屏幕顶部,然后消失。有什么帮助吗?
注意:我必须使用python 3.2.5,我无法升级到更新的版本。
答案 0 :(得分:1)
screen.blit
仅在单帧的持续时间内显示某些内容。你需要每帧画出子弹。使用单独的变量来跟踪项目符号的X和Y位置以及是否显示项目符号。如,
if (event.type == pygame.KEYDOWN):
if (event.key == pygame.K_SPACE):
show_projectile = True
projectile_x = player_x
projectile_y = player_y
# ...
if show_projectile:
screen.blit(projectile, (projectile_x, projectile_y))