【发布时间】:2020-10-01 22:41:08
【问题描述】:
我正在为我编写的游戏修改代码。当我调制播放器类时,我添加了所有额外的参数/参数,以便可以将其分开。我将键绑定保留在主游戏模块中。
键绑定代码如下所示
turtle.listen()
a=turtle.onkey(player.go_left(walls), "Left")
b=turtle.onkey(player.go_right(walls), "Right")
c=turtle.onkey(player.go_up(walls), "Up")
d=turtle.onkey(player.go_down(walls), "Down")
e=turtle.onkey(player.headright(missile,lives), "d")
f=turtle.onkey(player.headleft(missile,lives), "a")
g=turtle.onkey(player.headdown(missile,lives),"s")
h=turtle.onkey(player.headup(missile,lives),"w")
i=turtle.onkey(player.headright(missile,lives),"D")
j=turtle.onkey(player.headleft(missile,lives), "A")
k=turtle.onkey(player.headdown(missile,lives),"S")
l=turtle.onkey(player.headup(missile,lives),"W")
o=turtle.onkey(player.drink(info),"space")
m=turtle.onkey(player.fireball(missile2,info,lives),"z")
n=turtle.onkey(player.fireball(missile2,info,lives),"Z")
游戏运行正常,但按键没有响应操作。
您可以在
中找到代码https://github.com/Ninedeadeyes/7-Dungeons-Deep/tree/master
键绑定代码在游戏中(mod版本)
所有函数都在'player.py'中
任何帮助都会很棒。
【问题讨论】:
-
为什么要在变量中捕获来自
onkey的返回值?总是无?你为什么要在turtle上调用onkey和listen- 通常,在screen上调用onkey? -
我正在尝试一些东西,但即使你删除了变量,它也没有任何区别。 onkey 和 listen 都是海龟方法。你可以在这些方法中使用其他东西,但如果你使用海龟库,这应该可以工作。当我在一个文件中编写游戏时它可以工作,但由于调制代码而不得不添加额外的增强.如果你能提供一些关于它应该是什么而不是turtle.onkey的反馈,我将不胜感激
-
再读一点,我想我只能添加一个没有参数的函数才能工作docs.python.org/2/library/turtle.html#turtle.onkey
-
因此为什么我的原始代码可以工作,而当我分离代码并添加增强功能时,它不再工作了。
-
由于您没有提供
player.go_left(walls)等代码的示例,我假设它返回了适当的类型(即没有参数的回调函数) - 但是是的,需要一个函数。如果你的问题基本上可以这样回答,要么写一个好的答案并接受它,要么关闭问题。
标签: python module turtle-graphics key-bindings