如何解决获取用户输入并在 Turtle Screen 上显示
我正在尝试制作一个乌龟键盘游戏,您需要在其中输入正确的字母才能获胜。 这是我到目前为止的代码:
import turtle
from english_words import english_words_lower_alpha_set
import time
import random
wn = turtle.Screen()
wn.setup(width = 1200,height = 800)
wn.title("Keyboard Typer")
wn.bgcolor("#9bf6ff")
floor = turtle.Turtle()
floor.speed(0)
floor.shape("square")
floor.hideturtle()
floor.color("#fdffb6")
floor.penup()
floor.shapesize(stretch_wid = 10,stretch_len = 60)
floor.goto(0,-310)
floor.showturtle()
sun = turtle.Turtle()
sun.speed(0)
sun.shape("circle")
sun.hideturtle()
sun.color("yellow")
sun.penup()
sun.shapesize(stretch_wid = 3,stretch_len = 3)
sun.goto(-500,270)
sun.showturtle()
text = turtle.Turtle()
text.hideturtle()
text.color("black","#caffbf")
text.shape("square")
text.speed(0)
text.penup()
text.goto(0,390)
text.showturtle()
List = list(english_words_lower_alpha_set)
for Numbers in range(0,5):
text.clear()
text.goto(0,390)
text.showturtle()
Wordies = random.choice(List)
for i in range(0,20):
y = text.ycor()
y -= 20
text.sety(y)
time.sleep(0.2)
text.write(Wordies,move = True,align = "center",font = ("Arial",30,"normal"))
text.hideturtle()
time.sleep(5)
while True:
wn.update()
结果如下:
但是,我想要一个文本框或黄色矩形上的类似内容。
想要带文本框的输入:
有没有办法做到这一点?
解决方法
事实上,是的。
由于“海龟”使用 Tkinter 绘制所有图形,您可以将来自 Tkinter 本身的小部件直接添加到海龟的画布中。 这是一个代码:
import turtle
import time
from english_words import english_words_lower_alpha_set
import random
import tkinter as tk
wn = turtle.Screen()
wn.setup(width=1200,height=800)
wn.title("Keyboard Typer")
wn.bgcolor("#9bf6ff")
floor = turtle.Turtle()
# some tkinter
# canvas = floor.getscreen().cv
# or
canvas = wn.cv
# x and y
canvas.create_window(30,30,tags=["entry"],window=tk.Entry(None,))
floor.speed(0)
floor.shape("square")
floor.hideturtle()
floor.color("#fdffb6")
floor.penup()
floor.shapesize(stretch_wid=10,stretch_len=60)
floor.goto(0,-310)
floor.showturtle()
sun = turtle.Turtle()
sun.speed(0)
sun.shape("circle")
sun.hideturtle()
sun.color("yellow")
sun.penup()
sun.shapesize(stretch_wid=3,stretch_len=3)
sun.goto(-500,270)
sun.showturtle()
text = turtle.Turtle()
text.hideturtle()
text.color("black","#caffbf")
text.shape("square")
text.speed(0)
text.penup()
text.goto(0,390)
text.showturtle()
List = list(english_words_lower_alpha_set)
for Numbers in range(0,5):
text.clear()
text.goto(0,390)
text.showturtle()
Wordies = random.choice(List)
for i in range(0,20):
canvas.update()
canvas.update_idletasks()
y = text.ycor()
y -= 20
text.sety(y)
time.sleep(0.2)
text.write(Wordies,move=True,align="center",font=("Arial","normal"))
text.hideturtle()
time.sleep(5)
# while True:
# wn.update()
所以,我在画布上添加了一个“条目”小部件。第一个和第二个参数分别是 x 和 y。如需进一步修改,您可以访问此page。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。