当 onkeypress() 不满足所需条件时,如何使 onkeypress() 不对特定键做出反应?
所以我用海龟做了一个简单的游戏 (title 和 title2 是变量) onkeypress() 可以停止我不想要的 Secret() ,如果我向 main() 添加更多内容,再次按空格键将重置 main() 中的所有内容。
import turtle
TS = turtle.Screen()
TS.title('Cookie Collector') # Window title
TS.bgcolor('lightyellow') # Window bg color
TS.setup(width=900, height=700) # Window size pixels
TS.tracer(0) # Window updates
def main():
title.clear()
title2.clear()
TS.bgcolor('lightgreen')
def secret():
title.clear()
title2.clear()
TS.bgcolor('black')
title.color('white')
title2.color('white')
title.write("haha epic secret", align='center', font=('Kristen ITC', 40, 'normal'))
title2.write("oOoooOoooOOoOOOOOoooOoOO", align='center', font=('Kristen ITC', 40, 'normal'))
TS.listen()
TS.onkeypress(main, 'space')
TS.onkeypress(secret, 'Up')
while True:
TS.update()
so im making a simple game in turtle
(title and title2 are variables)
onkeypress() makes it possible to stop secret() which I don't want, and if I would add more to main() pressing the spacebar again would reset everything in main().
import turtle
TS = turtle.Screen()
TS.title('Cookie Collector') # Window title
TS.bgcolor('lightyellow') # Window bg color
TS.setup(width=900, height=700) # Window size pixels
TS.tracer(0) # Window updates
def main():
title.clear()
title2.clear()
TS.bgcolor('lightgreen')
def secret():
title.clear()
title2.clear()
TS.bgcolor('black')
title.color('white')
title2.color('white')
title.write("haha epic secret", align='center', font=('Kristen ITC', 40, 'normal'))
title2.write("oOoooOoooOOoOOOOOoooOoOO", align='center', font=('Kristen ITC', 40, 'normal'))
TS.listen()
TS.onkeypress(main, 'space')
TS.onkeypress(secret, 'Up')
while True:
TS.update()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我从你的问题描述中猜测你想任意打开和关闭关键事件。您可以使用以下方法关闭它们:
然后按照您最初启用它们的方式将它们重新打开:
I'm guessing from your problem description that you want to arbitrarily turn on and off key events. You can turn them off using:
And then turn them back on the way you enabled them in the first place: