📜  获取玩家输入 python (1)

📅  最后修改于: 2023-12-03 14:57:16.821000             🧑  作者: Mango

获取玩家输入

在游戏开发中,获取玩家输入是一个非常重要的功能。下面介绍如何在 Python 中获取玩家的输入。

从控制台获取输入

使用 input() 函数可以从控制台(命令行)获取用户输入。这个函数会阻塞程序的执行,直到用户输入完毕并敲击回车键,然后返回用户输入的字符串。

name = input('请输入您的名字:')
print(f'您好,{name}!')

上面的代码中,input() 函数会提示用户输入名字,然后等待用户输入完成。当用户输入完毕后,程序会使用 print() 函数把欢迎消息打印到控制台上。

需要注意的是,input() 函数返回的是一个字符串(即使用户没有输入任何内容,也是空字符串)。如果需要把用户输入解释为数字、布尔值或其他类型,需要使用相应的转换函数(如 int()float()bool() 等)。

从鼠标、键盘等获取输入

除了从控制台获取输入,Python 还可以使用第三方库获取用户的输入。例如,使用 pygame 库可以获取鼠标、键盘等输入事件。在游戏开发中,通常需要不断地监听输入事件,并在事件发生时调用相应的处理函数。下面是一个简单的示例:

import pygame

# 初始化 Pygame
pygame.init()

# 创建窗口
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption('获取用户输入')

# 监听输入事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            # 用户关闭窗口
            pygame.quit()
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            # 用户按下键盘
            if event.key == pygame.K_UP:
                print('用户按下了“上”键')
            elif event.key == pygame.K_DOWN:
                print('用户按下了“下”键')
        elif event.type == pygame.MOUSEBUTTONDOWN:
            # 用户点击鼠标
            if event.button == 1:
                print('用户按下了鼠标左键')
            elif event.button == 2:
                print('用户按下了鼠标中键')
            elif event.button == 3:
                print('用户按下了鼠标右键')
                
    # 在屏幕上绘制图形
    screen.fill((255, 255, 255))
    pygame.display.update()

上面的代码中,我们创建了一个 Pygame 窗口并进入循环,不断监听用户的输入事件。如果用户按下了键盘上的箭头键或鼠标上的按钮,就会在控制台输出相应的消息。同时,程序还会在屏幕上绘制一个白色矩形。

需要注意的是,监听输入事件是一个非常耗费 CPU 资源的操作,在没有用户输入的情况下仍然会不断地执行。因此,应该在绘制图形、更新游戏状态等操作之后才开始监听输入事件,以免影响程序的性能。