python - 有没有办法让海龟运动更顺畅
问题描述
我正在制作一个游戏,你可以控制一艘太空船,目前,它的运动很难看,因为它很笨拙。有没有让动作更流畅自然的指令?我在 repl.it 上使用带有 turtle 的 python,而 onrelease 似乎不起作用。任何答案表示赞赏!
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()
解决方案
只需将您的更改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()
另一方面,将执行命令的次数与用户按住键的次数一样多。
推荐阅读
- android - 使用 LifecycleObserver 的生命周期感知组件如何感知屏幕方向的变化
- python - 索引中带有 nan 的 Pandas 数据框
- github - 将文件从一个存储库复制到另一个存储库的 github 操作
- javascript - 在 react-chartjs-2 折线图上添加条形图(垂直线)
- firebase - “如果 request.auth.uid != null”作为 Firestore 中的安全规则有多公开?
- php - WordPress 联系表 7 不适用于 Xampp 中的 PHP 7.2
- javascript - 从 javascript 中的扁平化 JSON 创建嵌套 json
- azure-devops - 使用存储在 Azure Pipelines 中另一个变量中的变量名称
- javascript - 如何在重新渲染之间为转换后的组件设置动画?
- javascript - 升级react-admin v2到v3,权限一直为空上下文不一致