【问题标题】:Dealing with simultaneous button presses and changing shift states处理同时按下按钮和更改换档状态
【发布时间】:2010-08-24 13:59:03
【问题描述】:

我目前正在开发一个 (Python2.5) 应用程序,该应用程序处理来自游戏控制器的输入。我们将一个按钮指定为 shift 按钮,以动态更改其他按钮的映射(输入类型、值-> 功能)。映射还取决于我们的应用程序运行的模式。我们遇到了很多毛茸茸的边缘情况(例如如何处理press shift, press button x, release shift, release button x),我想知道是否有任何已知的良好结构/架构/模式来处理这个问题输入方式?

【问题讨论】:

    标签: python controls input user-input joystick


    【解决方案1】:

    Satemachines 是处理复杂输入的好模式。

    这是处理上述序列的机器。

    您可以使用开关或状态模式实现状态机(请参阅Python state-machine design

    【讨论】:

    • 我们希望避免使用显式状态机,因为它很快就会变得笨拙。
    • 更详细一点:我们正在处理一个有 10 个按钮的控制器,其中一个按钮会改变所有其他按钮在按住时所做的事情。处理例如状态时,状态的数量会迅速爆炸。按下 shift 时按住的任何按钮,或按下 shift 时按住的任何两个按钮,或按下 shift 时按住的任何三个按钮。加上之前保持的移位与之后按下的移位等等的所有相反。它只是变得一团糟
    猜你喜欢
    • 2015-03-24
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多