首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用num键处理Python海龟图形onkey函数的问题

使用num键处理Python海龟图形onkey函数的问题
EN

Stack Overflow用户
提问于 2019-05-15 06:09:45
回答 1查看 242关注 0票数 0

我在使用numpad 1-9键作为输入创建turtle.onkey命令时遇到了问题。

我查看了源代码和文档,它显示了作为参数来自tkinker的键。我从文档中找到了键的一份清单,还有这份清单,从我可以收集到的内容来看,参数应该是数字'4‘的"KP_4“,但是我的代码不接受它。我尝试了更传统的键,如“左”的左箭头,这些似乎很好。我还在这里查看了一份关于玩偶游戏的文档,认为可能类似,但他们为numpad 4列出的那一份也不起作用。(是K_KP4)

代码语言:javascript
运行
复制
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坐标上。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-15 16:36:11

我的(OS )系统没有区分主键上的"4“和键盘上的"4”,它们都移动了乌龟。但是,它确实区分了主键上的“返回”和键盘上的"KP_Enter“,因此我将在示例代码中使用这一点:

代码语言:javascript
运行
复制
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()

用上面的方法进行实验,看看你是否能洞察你的问题(例如,你有没有遗漏任何步骤?)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56142698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档