我如何使用海龟模块向上移动?
How can i use the turtle module to move up?
我正在使用 turtle 模块创建 space 入侵者游戏。我已经添加了代码,使我能够左右移动。我想把乌龟 Up/going 向前移动。有什么建议么?
# Create Player Turtle
player = turtle.Turtle()
player.color("green")
player.shape("triangle")
player.penup()
player.speed(0)
player.setposition(0, -250)
player.setheading(90)
playerSpeed = 30
# Move the player Left and Right
def move_left():
x = player.xcor()
x -= playerSpeed
if x < -280: #less then
x = - 280 #set it to
player.setx(x)
def move_right():
x = player.xcor()
x += playerSpeed
if x > 280: #greater than
x = 280 #set it to
player.setx(x)
def move_up():
y = player.ycor()
y -= playerSpeed
# Create keyboard bindings
turtle.listen()
turtle.onkey(move_left, "Left")
turtle.onkey(move_right, "Right")
turtle.onkey(move_up, "Up")
turtle.mainloop()
I want to move the turtle Up/going forward. Any suggestions?
我相信@jasonharper 的建议是最好的,"You need to actually set the turtle's new position, just like you did in the left/right functions."我们只需要复制水平运动的逻辑并将其应用到垂直:
from turtle import Screen, Turtle
playerSpeed = 30
# Move the player
def move_left():
x = player.xcor() - playerSpeed
if x < -280:
x = - 280
player.setx(x)
def move_right():
x = player.xcor() + playerSpeed
if x > 280:
x = 280
player.setx(x)
def move_up():
y = player.ycor() + playerSpeed
if y > 280:
y = 280
player.sety(y)
# Create Player Turtle
player = Turtle()
player.shape('triangle')
player.color('green')
player.speed('fastest')
player.setheading(90)
player.penup()
player.setposition(0, -250)
# Create keyboard bindings
screen = Screen()
screen.setup(600, 600)
screen.onkey(move_left, 'Left')
screen.onkey(move_right, 'Right')
screen.onkey(move_up, 'Up')
screen.listen()
screen.mainloop()
定义诸如屏幕大小之类的内容有助于直观地显示您的限制。
我正在使用 turtle 模块创建 space 入侵者游戏。我已经添加了代码,使我能够左右移动。我想把乌龟 Up/going 向前移动。有什么建议么?
# Create Player Turtle
player = turtle.Turtle()
player.color("green")
player.shape("triangle")
player.penup()
player.speed(0)
player.setposition(0, -250)
player.setheading(90)
playerSpeed = 30
# Move the player Left and Right
def move_left():
x = player.xcor()
x -= playerSpeed
if x < -280: #less then
x = - 280 #set it to
player.setx(x)
def move_right():
x = player.xcor()
x += playerSpeed
if x > 280: #greater than
x = 280 #set it to
player.setx(x)
def move_up():
y = player.ycor()
y -= playerSpeed
# Create keyboard bindings
turtle.listen()
turtle.onkey(move_left, "Left")
turtle.onkey(move_right, "Right")
turtle.onkey(move_up, "Up")
turtle.mainloop()
I want to move the turtle Up/going forward. Any suggestions?
我相信@jasonharper 的建议是最好的,"You need to actually set the turtle's new position, just like you did in the left/right functions."我们只需要复制水平运动的逻辑并将其应用到垂直:
from turtle import Screen, Turtle
playerSpeed = 30
# Move the player
def move_left():
x = player.xcor() - playerSpeed
if x < -280:
x = - 280
player.setx(x)
def move_right():
x = player.xcor() + playerSpeed
if x > 280:
x = 280
player.setx(x)
def move_up():
y = player.ycor() + playerSpeed
if y > 280:
y = 280
player.sety(y)
# Create Player Turtle
player = Turtle()
player.shape('triangle')
player.color('green')
player.speed('fastest')
player.setheading(90)
player.penup()
player.setposition(0, -250)
# Create keyboard bindings
screen = Screen()
screen.setup(600, 600)
screen.onkey(move_left, 'Left')
screen.onkey(move_right, 'Right')
screen.onkey(move_up, 'Up')
screen.listen()
screen.mainloop()
定义诸如屏幕大小之类的内容有助于直观地显示您的限制。