Pygame项目符号(python 3.2.5)

时间:2016-05-29 20:40:55

标签: python pygame

我正在为学校做一个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,我无法升级到更新的版本。

1 个答案:

答案 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))