【发布时间】:2020-07-12 11:40:58
【问题描述】:
所以我正在用 python turtle 制作一个游戏,玩家通过按下相应的箭头键左右移动海龟。乌龟不能以任何方式上下移动。只有左和右。但是当我的乌龟达到某个 xcor 值时,我希望乌龟停止移动,即使我仍在按下那个箭头键。但仍然可以用另一个箭头键向相反方向移动。
def playerRight():
player.goto(player.xcor() + 8,player.ycor())
if player.xcor() >= 200:
def playerLeft():
player.goto(player.xcor() - 8,player.ycor())
if player.xcor() <= -200:
screen.onkey(playerRight,'Right')
screen.onkey(playerLeft,'Left')
screen.listen()
但我不知道在我的条件句中放什么。非常感谢您的回复!谢谢!
【问题讨论】:
-
试试
screen.onkeyrelease函数 -
对不起。我不熟悉那个功能。我如何以及在哪里使用它?可以举个例子吗?
-
您可以像使用
screen.onkey一样使用它。例如,如果你停止海龟的方法是playerStop,你会想要screen.onkeyrelease(playerStop,'Right')和screen.onkeyrelease(playerStop,'Left') -
我认为你没有理解我的问题 Minion Jim。一旦玩家达到某个 xcor 值,我希望海龟停止。不是当玩家释放箭头键时。我正在制作的游戏类似于太空入侵者。如果您玩过或看过该游戏,玩家会左右移动,如果他们向左或向右移动很远,就会有一道看不见的墙阻止玩家离开屏幕。
-
好吧,从逻辑上考虑。当满足
if条件时,函数调用后player.xcor()的值应该是什么?
标签: python graphics controls conditional-statements turtle-graphics