为什么当我在 pygame 中按下特定键时我的精灵不移动

绍赫鲁克·瓦利耶夫

我正在构建一个简单的火箭游戏,它需要移动一些精灵。在下面的代码中,每次我按下 K_DOWN 键时,cloud1 应该向底部移动 -30 像素。3 天以来,我一直试图找出代码有什么问题,但没有取得任何进展。帮助将不胜感激。

import pygame
pygame.init()

DISPLAY_HEIGHT = 700
DISPLAY_WIDTH = 900

screen = pygame.display.set_mode((DISPLAY_WIDTH, DISPLAY_HEIGHT))
pygame.display.set_caption('Rocket Game')

clock = pygame.time.Clock()
FPS = 60


#colors
WHITE = (255,255,255)
BLACK = (0,0,0)
SKY_BLUE = (102,178,255)

cloud1 = pygame.image.load('cloud.png')
cloud1_X, cloud1_Y = 100, 50
cloud1_Y_change = 30


def cloud1_display(x, y):
    screen.blit(cloud1, (x, y))

running = True
while running:
    screen.fill(SKY_BLUE)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                cloud1_Y += cloud1_Y_change

    cloud1_display(cloud1_X, cloud1_X)
    clock.tick(FPS)
    pygame.display.update()


    
    
金斯利

有两个问题。第一个是你的代码不检查event.keypygame.K_UP但是您的代码也在(x, x),而不是 上绘制云(x, y)

更正的代码:

while running:
    screen.fill(SKY_BLUE)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:       # <<-- HERE
                cloud1_Y += cloud1_Y_change

    cloud1_display(cloud1_X, cloud1_Y)         # <<-- AND HERE
    clock.tick(FPS)
    pygame.display.update()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我按下按键时,为什么我的精灵不在pygame中移动?

为什么当我移动光标时pygame窗口动画只能工作

当我没有在这个 pygame 脚本中按下任何东西时,为什么精灵图像没有重置为默认值?

按下键时Pygame精灵不移动

pygame为什么对我冻结?

当我不使用screen.fill(color)时,Pygame文本重叠,为什么?

当我将鼠标悬停在pygame上时,为什么按钮不改变颜色?

当我在load属性中键入'r'时,为什么pygame混合器工作?

当我尝试使用 pygame.transform.rotate 旋转它时,为什么我的精灵会重置到屏幕的左上角?

当我的图像在pygame中流血之后,它掉了,我不知道为什么

Noob here-当我在屏幕上移动鼠标时,我的精灵的pygame动画会更新

优化后,我的精灵不再显示。为什么我的精灵没有显示在pygame代码中?

Pygame 问题:按下键时精灵不会移动。是的,我环顾四周,所以

为什么我不能用pygame射击?

为什么我的pygame屏幕是静态的?

为什么我的pygame精灵的左走比右走快?

pygame为什么不渲染我所有的精灵?

为什么我的 Pygame 精灵跳转代码不起作用?

当我按下按钮时,为什么小球没有在我的小程序中移动?

当我按下 .button 时,为什么我的 div 没有移动?

当我按下“tab”键时,为什么我的响应式导航栏被选中?

我无法在pygame中移动精灵

为什么按下键时我的子画面不移动?

为什么我在pygame中的玩家角色有时消失在图块后面,但仍然移动?

当我在 pygame 中的不同动画之间切换时,精灵闪烁

为什么当我向左移动时我的精灵一直向右翻转?

当我采取OOP方法时,Pygame对象不会移动

为什么当我在 JavaScript 中按下按钮时我的粒子会加速?

为什么当我按下UP键时面板消失了?