有没有办法让海龟的动作更流畅

2024-09-28 22:10:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个游戏,你可以控制一艘宇宙飞船,现在,它的运动很难被观察,因为它非常刺耳。是否有命令使动作更流畅、更自然?我正在使用 在repl.it和onrelease上使用turtle的python似乎不起作用。感谢您的回答

import turtle
you = turtle.Turtle()
keycoms = turtle.Screen()

you.penup()

def w():
  you.fd(5)
def s():
  you.bk(3)
def a():
  you.lt(5)
def d():
  you.rt(5)

keycoms.onkey(w,"w")
keycoms.onkey(s,"s")
keycoms.onkey(a,"a")
keycoms.onkey(d,"d")
keycoms.listen()

Tags: import命令you游戏defitreplscreen
2条回答

解决这一问题的一种方法是进行更多、更小的移动,每次移动之间有一点时间延迟。这给人一种流动运动的错觉,而不是跳跃——类似于以下内容(可能有更好的方法对其进行编码,但这给了你一个想法):

def w():
  for _ in range(5):
    you.fd(1)
    sleep(0.1)

只需将onkey(...)更改为onkeypress(...)

import turtle
you = turtle.Turtle()
keycoms = turtle.Screen()

you.penup()

def w():
  you.fd(5)
def s():
  you.bk(3)
def a():
  you.lt(5)
def d():
  you.rt(5)

keycoms.onkeypress(w,"w")
keycoms.onkeypress(s,"s")
keycoms.onkeypress(a,"a")
keycoms.onkeypress(d,"d")
keycoms.listen()

keycoms.mainloop()

Scrren.onkey()方法将允许用户按下特定键,只要用户愿意,并且分配操作的函数命令将只执行一次

另一方面Screen.onkeypress()将在用户按住键的同时执行该命令

相关问题 更多 >