如何在pygame中射击?

2024-09-24 22:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个程序,这样当我按x键时子弹就可以发射了。 我自己编写代码。 我想让一颗子弹在我按下的时候飞起来,而不是在我用力按下的时候。 当你按x键时,子弹应该会自然飞行,但位置突然改变,你会进行远程传送。请帮帮我。 这是我的密码

while True:
    clock.tick(100)
    pressed = pygame.key.get_pressed()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        if event.type == pygame.KEYDOWN:
            if pressed[pygame.K_LEFT] or pressed[pygame.K_RIGHT]:
                last_direction_key = event.key
            if pressed[pygame.K_DOWN] or pressed[pygame.K_UP]:
                last_key = event.key
        if pressed[pygame.K_x]:
            bullet_x += 10

Bullet_x是项目符号的水平位置变量。我怎样才能让它自然地飞走


Tags: orkey代码程序eventgetif远程
1条回答
网友
1楼 · 发布于 2024-09-24 22:18:35

正如Shoaib Mirzaei所说,Tim技术教程对于python和pygame的入门非常有用,而且还有很多其他类似的教程

要修复当前代码,需要一个新变量,将其称为shooting并在程序开始时将其设置为False

shooting = False

然后,一旦按下x,将shooting设置为True

if pressed[pygame.K_x]:
    shooting = True

确保其缩进与其他两个按钮按下检查一致。 现在,只需检查shooting是否为True并移动项目符号:

if shooting:
    bullet_x += 10

这应该缩进,以便在while循环中运行

现在,使用1颗子弹就可以了,但是当你开始玩一个更复杂的游戏时,你可能想用一个类来控制你的子弹。如果你需要的话,你可以稍后自己用谷歌搜索

相关问题 更多 >