我试图找出一种方法,使它当我按住一个关键的球员将不断移动,或只是有球员不断前进,只是海龟图形,(我也有pygame安装)
import turtle
from turtle import *
#Setup Screen
wn = turtle.Screen()
wn.setup(700,700)
wn.title("white")
wn.bgcolor("black")
#Create Player
player = turtle.Turtle()
player.penup()
player.shape("triangle")
player.color("white")
def forward():
player.forward(20)
def lef():
player.left(90)
def forward():
player.right(90)
onkey(forward,"Up")
onkey(left,"Left")
onkey(right,"Right")
listen()
3条答案
按热度按时间nwo49xxi1#
您只需将
wn
添加到希望这能有所帮助!
vom3gejh2#
我建议你阅读this post on repeating key events,首先确定你的操作系统是否提供按键重复,你是否可以/想要调整它和/或如何关闭它来实现你自己的按键重复行为,该链接包括在turtle中实现你自己的按键重复行为的代码。
我已经修改了下面的代码,按键重复对我来说很好,因为我的操作系统(OSX)实现了按键重复:
在OSX中,我可以在系统首选项的键盘面板中控制速率(并将其关闭)。看看你的OS提供了什么。
一些编程注意事项:避免以两种不同的方式导入同一个模块,这总是会导致混淆。如果你发现你在键盘事件之间以高重复率发生干扰,请考虑以下三个事件处理程序:
k3fezbri3#
如果你使用的是python 3,那么你应该使用
wn.onkeypress()
,onkey()
函数在按键被按下然后释放时被触发,而onkeypress()
函数在按键被按下时立即被触发。