当我在Python脚本中使用Turtle图形库的write()
函数,然后用Transcrypt将其翻译成javascript时,它什么都不显示。
我的代码如下:
import turtle
def SomeText():
pen.goto(0, 250)
pen.pensize(10)
pen.write("Nothing happens")
pen = turtle.Turtle()
SomeText()
pen.done()
该程序在Python环境中运行良好,但当通过Transcrypt翻译成Javascript并在web浏览器上执行时,它只显示龟行,不显示文本。
我是做错了什么,还是只是Transcrypt不支持write()
功能?如果是这种情况,我如何将海龟图形和文本以紧凑的方式组合到Javascript中?对文本消息使用额外的html代码并不方便。
您的原始代码对我不起作用。行pen.done()
无效,因为done()
不是海龟的方法。它是screen方法mainloop()
的别名,也可用作作用于screen singleton实例的顶级函数。
我并不是说它一定会解决您所说的问题,但为了使您的原始代码有效,请将pen.done()
更改为turtle.done()
。也就是说,将它从一个不存在的海龟方法调用更改为一个顶级函数调用。然后再次尝试Transcrypt。。。
在那之后,我会考虑字体的问题,Python和JavaScript都可以访问默认的write()
字体Arial吗?
hm。。。。我不知道我是否是对的,因为我很久以前就离开了海龟,但你不应该在pen.write("nothing happens")
之后添加更多吗?例如:pen.write("something happens", True, 'center', font = ([whatever font], [whatever size], 'bold' [or not]))
这可能是个问题,但正如我之前所说,我对海龟不太熟悉,而且我也从未使用过Transcript或JavaScript。
修改Turtle图形程序以包含鼠标左键和中键的功能。换句话说,当你按下鼠标左键时,一个随机的颜色会改变,乌龟的大小也会改变,并且会画一条线。