我将如何检测Python中没有按键/没有输入?

问题描述 投票:1回答:1

我正在制作一个简单的移动“游戏”的盒子来学习pygame的导入,但是我想在没有按键时将盒子设置回灰色。

import pygame
from pygame.locals import *
pygame.init()
width = 400
height = 400
screen = pygame.display.set_mode((width,height))
done = False
clock = pygame.time.Clock()
color = (150, 150, 150)
x = 0
y = 0
while not done:
    for event in pygame.event.get():
            if event.type == pygame.QUIT:
                    done = True
            if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
                    is_blue = not is_blue

    pressed = pygame.key.get_pressed()
    if pressed[pygame.K_UP] or pressed[pygame.K_w] and y > 0:
        y -= 3
        color = (0,0,255)
    if pressed[pygame.K_DOWN] or pressed[pygame.K_s] and y+60 < height: #Adding 60 because height of block = 60
        y += 3
        color = (255,255,0)
    if pressed[pygame.K_LEFT] or pressed[pygame.K_a] and x > 0:
        x -= 3
        color = (0,255,0)
    if pressed[pygame.K_RIGHT] or pressed[pygame.K_d] and x+60 < width: #Adding 60 because width of block = 60
        x += 3
        color = (255,0,0)
    screen.fill((0, 0, 0))
    pygame.draw.rect(screen, color, pygame.Rect(x, y, 60, 60))

    pygame.display.flip()
    clock.tick(60)
python pygame key-bindings
1个回答
1
投票

只需在color=(150,150,150)循环内添加while的集合(:将其作为循环内的第一行。

© www.soinside.com 2019 - 2024. All rights reserved.