我无法让turtle.begin_fill()/turtle.end_fill()命令在 tkinter 窗口中工作。我想让程序以 64x32 网格在屏幕上绘制一堆彩色单元格。这是设置窗口和绘制的整个代码,但是在设置窗口后它根本不做任何事情:
import turtle as tu
import tkinter as tk
axis = []
num = -512
for i in range(0,64):
axis.append(num)
num = num + 16
def drawworld(*args):
for i in range(0,64):
for j in range(0,32):
tu.goto(axis[i],axis[j]+256)
tu.pd()
tu.color=("#ffff00")
tu.begin_fill()
for k in range(0,4):
tu.fd(16)
tu.lt(90)
tu.end_fill()
tu.pu()
root = tk.Tk()
root.title("game")
root.resizable(False, False)
canvas = tk.Canvas(master = root, width = 1024, height = 512)
canvas.grid(row=0, column=0, columnspan=10)
tu = tu.RawTurtle(canvas)
tu.speed(50)
tu.pu()
tu.ht()
drawworld()
root.mainloop()
但是,如果我要注释掉填充行,则代码可以完美运行(没有为框着色),这意味着一定有问题:
tu.color=("#ffff00")
tu.begin_fill()
for k in range(0,4):
tu.fd(16)
tu.lt(90)
tu.end_fill()
tu.pu()
我查看了文档,这应该是完美的语法。我究竟做错了什么?