为什么Python Turtle listing()不起作用? 我非常,我的意思是Python的新手(我一无所知)。我正在使用Turtle模块创建一个小游戏,并且遵循教程,我看不到listing()函数

问题描述 投票:0回答:2
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 *
python turtle-graphics python-turtle
2个回答
0
投票

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
”您调用变量“

0
投票
”,但是“

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年后仍在处理这个问题。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.