python - Python Turtle 中的屏幕文本输入
问题描述
使用onkey()
. 当我添加screen.textinput()
时,屏幕输入执行后键盘停止监听/响应,我不知道为什么:
import turtle
screen = turtle.Screen()
player = turtle.Turtle()
player.color("blue")
player.shape("turtle")
player.penup()
def goForward():
answer = int(screen.textinput("Turtle Program", "Enter forward in pixels"))
player.forward(answer)
def goBackward():
player.backward(5)
turtle.listen()
turtle.onkey(goForward,"Up")
turtle.onkey(goBackward, "Down")
解决方案
该textinput()
方法自己listen()
来控制键盘输入。所以你需要在listen()
之后重做你的电话textinput()
:
from turtle import Screen, Turtle
def goForward():
distance = screen.numinput("Turtle Program", "Enter distance in pixels", default=5)
screen.listen()
player.forward(distance)
def goBackward():
player.backward(5)
screen = Screen()
player = Turtle()
player.shape('turtle')
player.color('blue')
player.penup()
screen.onkey(goForward, 'Up')
screen.onkey(goBackward, 'Down')
screen.listen()
screen.mainloop()
推荐阅读
- swagger - 使用 swagger 4.x 包生成 swagger 2.0 yaml
- python - Discord Python - 使用 async/await 从不同的文件运行机器人
- node.js - 物联网:无法发布/订阅我的设备上/下链接主题
- google-apps-script - 用谷歌脚本中的空值替换重复项
- php - Laravel 雄辩的查询使用带有条件语句和参数的本地范围
- python - 如何在情感分析中将方面映射到评论?
- javascript - Openlayers - 仅选择一项功能并禁用其余功能
- python - 为什么我陷入了一个while循环?
- r - R 前一个计算函数的滞后值
- elasticsearch - elasticsearch match_phrase 查询用于精确的子字符串搜索