I';我正试图用python编写一个带有乌龟图形的游戏,但是运动';它坏了
这就是我到目前为止所做的:I';我正试图用python编写一个带有乌龟图形的游戏,但是运动';它坏了,python,turtle-graphics,Python,Turtle Graphics,这就是我到目前为止所做的: import time import random #Window wn = turtle.Screen() wn.title("Turtle Game") wn.bgcolor("black") wn.setup(width=600, height=600) wn.tracer(0) #Player's character player = turtle.Turtle() player.speed(0) player.shape("square") player
import time
import random
#Window
wn = turtle.Screen()
wn.title("Turtle Game")
wn.bgcolor("black")
wn.setup(width=600, height=600)
wn.tracer(0)
#Player's character
player = turtle.Turtle()
player.speed(0)
player.shape("square")
player.color("white")
player.penup()
player.goto(0,0)
player.direction = "stop"
#Player's movement
def go_up():
if player.direction != "down":
player.direction = "up"
def go_down():
if player.direction != "up":
player.direction = "down"
def go_left():
if player.direction != "right":
player.direction = "left"
def go_right():
if player.direction != "left":
player.direction = "right"
def move():
if player.direction == "up":
y = player.ycor()
player.sety(y + 20)
if player.direction == "down":
y = player.ycor()
player.sety(y - 20)
if player.direction == "left":
x = player.xcor()
player.setx(x - 20)
if player.direction == "right":
x = player.xcor()
player.setx(x + 20)
#Listen for keypresses
wn.listen()
wn.onkeypress(go_up, "w")
wn.onkeypress(go_down, "s")
wn.onkeypress(go_left, "a")
wn.onkeypress(go_right, "d")
目前,我所得到的只是窗口中的一个空白屏幕。“窗口”似乎工作正常,但除此之外,没有其他东西出现。老实说,我不知道为什么会发生这种情况,所以我转向StackOverflow寻求帮助。关于代码的一些要点:
import-turtle
,以使用turtle
模块
wn.exitonclick()
,以保持窗口打开
move()
函数。更新播放机方向后,我必须在向上移动
、向下移动
、向左移动
和向右移动
中添加对移动()的调用
wn.tracer(0)
来禁用跟踪。按照,无需跟踪,您必须使用turtle.update()
手动刷新窗口。我将此调用添加到move()
函数的末尾。或者,您可以使用wn.tracer(1)
在每次更改时自动刷新屏幕
诚然,文档对0
的影响并不十分清楚
go
中的if
语句中试图做什么。。。功能。在go\u up()
中,仅当当前没有向下时,才将方向设置为up
。这样做的效果是,当我向下移动海龟时,我不能再次向上移动它,除非我通过向左走()
/向右走()
。这似乎很奇怪。如果方向还不是向上
,您可能只想更新到向上
?例如:
if player.direction != "up":
player.direction = "up"