1

我正在为游戏和家庭自动化目的构建一个新的输入设备,并想使用 python 街机(https://arcade.academy)进行演示。Arcade 支持从键盘或鼠标读取输入,我想将此功能扩展到新的串行设备。

怎么能以最简单的方式做到这一点?

4

1 回答 1

1

我能想到的主要事情是创建一个控制器类。

该类将具有与控制器关联的变量(操纵杆、按钮 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

您现在必须向游戏类添加一个控制变量,以便更轻松地使用控制器类的数据。

于 2021-09-10T20:21:52.287 回答