我正在尝试制作一个游戏,其中有两只在蟒蛇龟中移动的乌龟。我使用了 onkey() 命令来让海龟移动。我想让它们同时移动,因为游戏有点像一场比赛,但只要你按住一个键,另一只乌龟就会停止移动,这会带来不公平的优势。这是用于移动乌龟的代码
screen.onkey(p1_up, 'w')
screen.onkey(p1_down, 's')
screen.onkey(p1_left, 'a')
screen.onkey(p1_right, 'd')
screen.listen()
screen.onkey(p2_up, 'Up')
screen.onkey(p2_down, 'Down')
screen.onkey(p2_left, 'Left')
screen.onkey(p2_right, 'Right')
screen.listen()
这是一个函数示例(如果有帮助的话)
def p1_left():
p1.setheading(180)
p1.forward(20)
p1.check_collision()
p1.check_victory()
我想让它这样,如果你按住任何一个键,海龟要么只移动一步,要么就不动。我是编码新手,所以除了使用 onkeypress() 和 onkeyrelease() 命令
之外,我没有尝试过任何东西您可以编写自定义函数,在其中定义问题中描述的行为。要实现该行为,您可以使用标志。
p1LeftStatus = False
def p1_left():
global p1LeftStatus
if not p1LeftStatus:
"Your code goes here"
p1LeftStatus = True
def p1_left_released():
global p1LeftStatus
p1LeftStatus = False
按下按键时:调用一个函数,将标志设置为 True。释放按键时:状态重置。这将确保海龟每次击键只能移动一次,即使按住按键也是如此。
我希望这能回答您的问题。