在Python函数中使用num-pad键的问题

2024-09-27 07:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题海龟.onkey使用numpad 1-9键作为输入的命令。你知道吗

我查看了源代码和文档,似乎作为参数的键来自tkinker。我从文档中找到了a list个键以及this list,根据我所能收集到的信息,numpad上数字“4”的参数应该是“KP\u4”,但我的代码不会接受它。我试过更传统的键,比如左箭头的“左”键,这些似乎很好用。我还查阅了一份关于pygame的文档,我想可能是类似的,但是他们为numpad 4列出的那个也不起作用。(这是KKKp4)

def player_move_left():
    x = player_char.xcor()
    x -= player_max_move
    player_char.setx(x)
turtle.onkey(player_move_left,"K_P4")

这应该取x坐标,减去移动量,然后将该数字应用于播放器变量的x坐标。你知道吗

*第一个答案中提供的解决方案*


Tags: 文档命令参数move源代码数字leftlist
1条回答
网友
1楼 · 发布于 2024-09-27 07:32:48

我的操作系统(OSX)没有区分主键上的“4”和键盘上的“4”,两者都移动了海龟。但是,它确实区分了主键上的“Return”和键盘上的“KP\u Enter”,因此我将在示例代码中使用它:

from turtle import Screen, Turtle

player_max_move = 10

def player_move_left():
    x = player_char.xcor() - player_max_move

    player_char.setx(x)

screen = Screen()

player_char = Turtle()

screen.onkey(player_move_left, "KP_Enter")  # vs "Return"
screen.listen()

screen.mainloop()

尝试上述方法,看看你是否能洞察自己的问题(例如,你是否遗漏了任何步骤?)你知道吗

相关问题 更多 >

    热门问题