python - 使用 pygame 模块概括键输入
问题描述
我想创建一个“玩家”类,它有一个列表,其中包含我想要作为字符串的输入,比如['w','a','s','d']
,并使用 pygame 模块通过 获取所有按下的键pygame.key.get_pressed()
,找到一种概括条件的方法:
keys_pressed[pygame.K_w]
| keys_pressed[pygame.K_a]
| keys_pressed[pygame.K_s]
| keys_pressed[pygame.K_d]
,使用 Player 类中的键列表。
伪代码:
player.list = ['w','a','s','d']
keys_pressed = pygame.key.get_pressed()
if keys_pressed[pygame.K_<player.list[0]>]:move up
if keys_pressed[pygame.K_<player.list[1]>]:move left
if keys_pressed[pygame.K_<player.list[2]>]:move down
if keys_pressed[pygame.K_<player.list[3]>]:move right
有没有办法可以实现这个?如果是这样,连接“K_”+ list[i] 以便 pygame 接受它的正确方法是什么?
解决方案
推荐阅读
- c# - 为什么 Automapper 在映射列表时返回 null
在 aspnet.core 3.1 中? - python - Python 的拓扑数据分析 (TDA) 映射器
- java - 未找到导入“google/protobuf/timestamp.proto”或有错误
- python - 采样 pandas DF 以匹配错误内的第二个 DF
- javascript - 如何将 Leaflet 地图的 dom-to-image 捕获与地图的边界对齐?
- jquery - 如何使用 jquery 从 html 文本中删除 php 解释器字符?
- python - 内置 open() 是否返回生成器?
- java - Socket 编程中的 BufferedReader
- node.js - 我正在使用 Node.JS,但期望 ')' 时出错。请问我该如何解决
- linux - 将 Open VMS FDL(文件定义语言)转换为 linux