Python 2.7 海龟';s位置不为';使用箭头键移动后不会改变

Python 2.7 海龟';s位置不为';使用箭头键移动后不会改变,python-2.7,turtle-graphics,keyboard-events,Python 2.7,Turtle Graphics,Keyboard Events,我试图找到一只乌龟的位置,它是由用户使用wasd键控制的。我注意到,海龟的位置在while(True)块中的print语句中似乎从未改变。你们有什么建议吗(请参考下面的相关代码) 注意:我知道,而(True)是不好的形式;这只是一个钉子 import turtle def Setupcontrols(turtle, window): window.onkey(lambda: turtle.sety(turtle.ycor()+15), 'w') window.onkey(lambda:

我试图找到一只乌龟的位置,它是由用户使用wasd键控制的。我注意到,海龟的位置在
while(True)
块中的print语句中似乎从未改变。你们有什么建议吗(请参考下面的相关代码)

注意:我知道
,而(True)
是不好的形式;这只是一个钉子

import turtle

def Setupcontrols(turtle, window):
  window.onkey(lambda: turtle.sety(turtle.ycor()+15), 'w')
  window.onkey(lambda: turtle.setx(turtle.xcor()-15), 'a')
  window.onkey(lambda: turtle.setx(turtle.xcor()+15), 'd')
  window.onkey(lambda: turtle.sety(turtle.ycor()-15), 's')
  window.listen()

def Setupuser(myTurtle,window):
  window.bgcolor("white")
  window.setup (width=400, height=400, startx=0, starty=0)
  myTurtle.speed(2)
  myTurtle.shape('turtle')
  myTurtle.color("blue")
  myTurtle.penup()
  myTurtle.delay(0)
  myTurtle.left(90)
  window.exitonclick()

def main():
  wn=turtle.Screen()
  Gameturtle=turtle.Turtle()
  Setupuser(Gameturtle, wn)
  Setupcontrols(Gameturtle, wn)
  while (True):
    print(Gameturtle.position())

main()

我相信您只能对onkey命令使用函数。例如:

import turtle
t = turtle.Turtle()
screen = turtle.Screen()

def moveForward():
   t.forward(1)

screen.onkey(moveForward,'right')
screen.listen()

希望这有帮助

虽然为True:
在这里不仅仅是一种糟糕的形式:对于循环的(无限)持续时间,它内部的
打印
绝对是您的程序正在做的唯一事情。我提到这是一个尖峰(也称为概念证明)。我有其他的工作代码,但是这个特性让我有些头疼。有没有关于职位不变的建议?