0

我正在使用 ursina 制作游戏,并且我想检测左键单击以便进行射击。所以,这是我的代码:

def update(self):
    if held_keys['t']:
        print("it works !")

每当我按“t”时,它就会打印“it works!”,如果我按住它,只要它被按住,就会打印出消息。伟大的 !但是现在,如果我尝试使用“鼠标左键”作为我的键,它就不再起作用了!我的代码将是:

def update(self):
    if held_keys['left mouse down']:
        print("it works !")

所以,这里的问题显然是“鼠标左键”的论点。但我确信这是正确的语法:

所以,我的论点的语法是正确的,我的代码是正确的。那么错误在哪里呢?是否有与键盘不同的处理鼠标的特定方法?我真的不这么认为,这就是为什么我在这里有点困惑。

4

1 回答 1

2

调试它的方法是打印 hold_keys 字典以查看它包含的内容。正确的名字是'left mouse'。之所以这样,是因为鼠标按钮的名称与其他键的名称不同,并且主要是为了使代码更改更容易。鼠标按钮毕竟不是键。

但是,您可以做的是检查mouse.left

于 2021-06-22T09:30:51.453 回答