Pyglet-自上次检查以来查找新操纵杆

时间:2018-10-30 18:07:12

标签: python pyglet joystick

我正在创建游戏,并且正在使用pyglet.input.get_joysticks()在计算机上获得所有操纵杆,以便控制游戏。

每隔几秒钟,我要检查是否有可用的新操纵杆,并允许它们连接到游戏。

我正在尝试的时候,我还想确定不再可用的操纵杆,以便从游戏中删除其相应的玩家。

这是我尝试执行此操作的简化版本:

class PyuicMapper(pyuic.HIDMapper):
    def __init__(self):
        self.joysticks = []

    def find_connected_and_disconnect_hids_since_last_check(self):
        joysticks = pyglet.input.get_joysticks()

        new_joysticks     = [js for js in joysticks if not any(js.device == js2.device for js2 in self.hids)]
        removed_joysticks = [js for js in self.js   if not any(js.device == js2.device for js  in joysticks)]

        self.joysticks += new_joysticks
        return (new_joysticks, removed_joysticks)

此代码不起作用,因为对于设备js.device == js2.device是否相同的比较从未给出True

这显然是因为我所比较的属性(.device每次都是不同的。

a)是否可以比较任何属性以确定两个pyglet游戏杆是否相同?

b)自上次检查以来,还有其他方法可以找到任何新的操纵杆(和断开的操纵杆)吗?

0 个答案:

没有答案