我有一个程序在pygame环境中从用户接收密钥然后它在控制台上打印一些信息并做一些其他的工作 它在Windows上对我很好 当使用完全相同的代码切换到linux时,它无法正常工作,并且它似乎没有响应来自键盘的任何输入键 我尝试用1/0来测试Hyperboreus先生建议的确切问题(下面代码中的注释) 我在“if event.key”
中找到了确切的问题我使用的功能:
for event in pygame.event.get(KEYDOWN):
# 1/0 --> it give me an error when pressing any button
if event.key == K_i:
numbers.insert(0,number)
#1/0 --> is not giving me any error when pressing i
print "ingoing"
return 1 #"ingoing"
elif event.key==K_m:
numbers.insert(0,number)
print "missed"
return 2 #"missed"
elif event.key==K_o:
numbers.insert(0,number)
print "outgoing"
return 3 #"outgoing"
elif event.key==K_l:
disp_log() #this function displays test on the pygame screen
else :
None
我通过这个命令从终端播放脚本 python xxxxx.py
我正在安装python2.7,python3和python3.2以及pygame 我尝试删除它们并再次安装它们并存在同样的问题
答案 0 :(得分:0)
正如@Hyperboreus建议的那样,我将print event.key作为第一行放入for。我使用if条件的打印值而不是" K_i"或" K_m" ..等
对我来说非常好。
并且可能是我的版本中的pygame,这是最新删除了使用K_key的选项并将其替换为其他内容。但是向上的方法对我来说很好,感谢@Hyperboreus