from turtle import *
#background
Screen().bgcolor("orange")
#player
pl = Turtle()
pl.color('dodgerblue')
pl.shape('turtle')
pl.penup()
def turnleft():
player.left(30)
turtle.listen()
onkeypress(turnleft, "Left")
speed = 1
while True:
pl.forward(speed)
当您执行时,它将所有内容导入内置的名称空间,即,您可以做:
from turtle import *
listen()
turtle.listen()
然后,将通过
import turtle
命名空间访问
turtle
软件包中的所有内容,即
turtle
您在这里有很多错误,完全正常,因为您是如此新,这就是变得更好的方法。我将“安排”“您的代码有点。
turtle.listen()
首先,我建议您在Google中检查什么是“ OOP”,然后在Python上检查它的工作原理。当您使用模块的“函数”(在这种情况下为Turtle)时,您需要首先调用模块,例如:
import turtle
#background
turtle.Screen().bgcolor("orange")
#player
pl = turtle.Turtle()
pl.color('dodgerblue')
pl.shape('turtle')
pl.penup()
def turnleft():
pl.left(30)
turtle.listen()
turtle.onkeypress(turnleft, "Left")
speed = 1
while True:
pl.forward(speed)
另一个事物是您的函数“turnleft”您调用变量“
player
”不存在,您想调用“pl
”。幸运的是您的小型新项目,继续尝试。
我自己编码了一年,我想制作类似的游戏,但它也不适合我。我的代码几乎与您的代码相同,
turtle.onkeypress(turnleft, "Left")
# Instead
onkeypress(turnleft,"Left")
import turtle
# create Screen
wn = turtle.Screen()
wn.bgcolor("light green")
# Create player
player = turtle.Turtle()
player.color("blue")
player.shape("triangle")
player.penup()
speed = 1
#create the inputs
def left():
player.left(30)
def right():
player.right(30)
#Key input actions
turtle.listen()
turtle.onkeypress(left, "Right")
turtle.onkeypress(right, "Left")
while True:
player.forward(speed)
在键入键盘中
def print_test():
print("works")
它没有给我作为输出。我认为您可能有同样的问题。但是,由于我缺乏专业知识,我不知道该如何解决。
我希望这会有所帮助,尽管我认为您不在2年后仍在处理这个问题。