我正在为游戏和家庭自动化目的构建一个新的输入设备,并想使用 python 街机(https://arcade.academy)进行演示。Arcade 支持从键盘或鼠标读取输入,我想将此功能扩展到新的串行设备。
怎么能以最简单的方式做到这一点?
我正在为游戏和家庭自动化目的构建一个新的输入设备,并想使用 python 街机(https://arcade.academy)进行演示。Arcade 支持从键盘或鼠标读取输入,我想将此功能扩展到新的串行设备。
怎么能以最简单的方式做到这一点?
我能想到的主要事情是创建一个控制器类。
该类将具有与控制器关联的变量(操纵杆、按钮 1、按钮 2...)。它可以是可读性的数据类
@dataclass
class Controller:
joystick_x:int
joystick_y:int
button1:bool
button2:bool
def update_controller():
pass
# update the controls here
在该类中,您可以放置一个 update_controller 方法来检查串行输入以更新变量。我认为您可以将该方法放在游戏类的更新方法的开头,以便您可以根据输入进行更新。
class MyGame(arcade.Window)
def __init__():
controller = Controller()
def update():
controller.update_controller()
if controller.button1:
pass # do something
您现在必须向游戏类添加一个控制变量,以便更轻松地使用控制器类的数据。