因此,我对python图形还比较陌生。我一直在宽松地关注太空侵略者的教程,但无法让关键的监听器正常工作。有什么想法吗?
import turtle
import os
window = turtle.Screen()
player = turtle.Turtle()
move = 15
# sets up the window, background color and player sprite
def setup():
window.bgcolor("black")
window.title("Space Invaders")
player.color("red")
player.shape("triangle")
player.penup()
player.speed(0)
player.setposition(0, -250)
player.setheading(90)
# controls left and right movement
def move_left():
player.setx(player.xcor() - move)
print("left")
def move_right():
player.setx(player.xcor() + move)
print("right")
if __name__ == "__main__":
setup()
window.onkey(move_left(), "Left")
window.onkey(move_right(), "Right")
window.listen()
turtle.mainloop()
答案 0 :(得分:0)
这只是一个猜测,因为我不是乌龟专家,但可能是两者之一
1-您应该在windows.onkey()方法之前使用windows.listen()方法。
2-您应该添加一个while循环,该循环始终设置为true(但是我想那是turtle.mainloop()的作用)?
答案 1 :(得分:0)
不确定100%,但我认为您应该服用
<custom-validation-message [control]="form.get('name')"></custom-validation-message>
在if语句之外,因为这可能是问题所在。 如果那不起作用,请尝试摆脱()这样的...
window.onkey(move_left(), "Left")
window.onkey(move_right(), "Right")
如果这样不起作用,则将设置功能内的所有内容都移走。
这就是我只能说的全部,但是如果所有失败的话,请更仔细地阅读本教程。我也发现了这两点可能会很有帮助。 Python, Turtle Graphics, Key bindings 还有这个 Make key bindings work for Space Invaders game