我正在用Pygame制作一个计算器,我想检查用户是否按下了一个整数键。如果键是像1或2这样的整数,那么将这个数字放到屏幕上。我试过很多次,但都失败了
这是我的密码
import pygame, math
pygame.init()
screen_width = 1200
screen_height = 500
gameWindow = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('Calculator')
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
white = (255, 255, 255)
black = (0, 0, 0)
grey = (128, 128, 128)
font = pygame.font.SysFont('comicsans', 40)
fps = 60
clock = pygame.time.Clock()
def text_screen(text, color, x, y):
screen_text = font.render(text, True, color)
gameWindow.blit(screen_text, [x ,y])
def welcome_screen(run):
clock.tick(fps)
gameWindow.fill(grey)
while not run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = True
if event.type == pygame.KEYDOWN:
if event.key == # Code to check whether the key is integer or not:
pass
pygame.display.update()
def gameLoop(run):
clock.tick(fps)
gameWindow.fill(grey)
while not run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = True
pygame.display.update()
if __name__ == "__main__":
welcome_screen(False)发布于 2022-01-15 12:07:13
您可以使用keyboard模块并将键按事件绑定到一个函数:
import keyboard # using module keyboard
def myonkeypress(event):
if event.name.isnumeric() :
print('User pressed numeric key')
# hook event handler
keyboard.on_press(myonkeypress)https://stackoverflow.com/questions/70721223
复制相似问题