嗨,在用pygame开发游戏时,有一个问题其实并不重要,但它一直困扰着我一段时间。
while not gameExit:
for event in pygame.event.get():e
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
pass
所以上面是一个工作代码,我相信
while not gameExit:
for event in pygame.event.get():e
if event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
pass
同样有效。
然而,当我只是尝试类似“event.key==pyplay。K_RIGHT:",python给我一个错误,说没有属性'key'。虽然我知道选择以上2个代码会更合理,而不仅仅是“event.key==pyplay。K_RIGHT:",我不知道为什么pyplay会说事件没有属性'key',而当我只是检查是否event.type==pyplay。KEYDOWN pyplay执行"event.key==pyplay没有问题。K_RIGHT”。
可能是因为检查事件是否发生。type==pygame。KEYDOWN实际上为事件生成了一个“key”属性?
并非每个事件都具有所有可能的属性。这就是为什么你必须首先检查事件的类型。
以下是每个事件类型的所有属性列表:
QUIT none
ACTIVEEVENT gain, state
KEYDOWN unicode, key, mod
KEYUP key, mod
MOUSEMOTION pos, rel, buttons
MOUSEBUTTONUP pos, button
MOUSEBUTTONDOWN pos, button
JOYAXISMOTION joy, axis, value
JOYBALLMOTION joy, ball, rel
JOYHATMOTION joy, hat, value
JOYBUTTONUP joy, button
JOYBUTTONDOWN joy, button
VIDEORESIZE size, w, h
VIDEOEXPOSE none
USEREVENT code
如您所见,只有KEYDOWN
和keydup
事件具有key
属性。
> 我有一个代码,当用户在
我正在使用Microsoft Visual C#2010 Express编写一个窗口窗体应用程序。我在写一个数独程序。我以前写过一次这个程序,并让它工作。由于硬盘故障,我丢失了源代码。我在表格上画了一个网格。我让鼠标事件工作了。我有重要的新闻活动要办。然后我在表单中添加了几个按钮,并让它们工作。但随后出现了一个问题。在我添加按钮并使其工作后,按键事件停止工作。为什么按钮事件和按键事件之间会发生冲突
问题内容: 我想知道redis中是否有一个功能可以让我获取所有过期的密钥(我的意思是某种事件,这使我有机会取回所有过期的记录)。其目的是将旧值保存到另一个数据库中。我听说有可能使用发布机制,但是google不能帮助我们实现这一想法。 问题答案: Redis的当前开发版本包含一个新功能:键空间通知。文档:http : //redis.io/topics/notifications 密钥空间通知允许客
仅限GXT 3. x。 我越来越清楚,Sencha故意设计了FileUploadField,以避免所有按键事件被检测到。 我试图拦截onBrowserEvent(事件),但无法检测到我在专注于FileUploadField组件时通过按键生成的任何按键事件。 按键事件分流器在哪里? 我找不到任何按键处理程序插入方法。 我希望通过按空格键或回车键来触发文件上传。 除了从头开始重写一个全新的组件,有人能
我一直试图为pyplay开发一个“文本框”类,作为一个小小的个人项目,我遇到了一个真正难倒我的问题。我试图扩展在这里找到的pyplay文本输入类,把它包装在一个支持多行和滚动功能的文本框类中。 当我试图在文本行之间上下移动闪光灯时,问题就来了。基本上,一旦按下“向上”箭头,就会将闪光灯一直移动到顶部,然后它就不再响应向下移动。 下面是我如何给类事件的代码: 下面是文本框类的代码(来自上述代码):
可能的重复: 跨浏览器方式,以便在按住键时自动获取重复的按键事件 我正在尝试用JavaScript/CSS/超文本标记语言创建一个简单的游戏,我正在使用jQuery(和一点下划线)来处理按键。玩家使用箭头键控制一个块。我在同时处理多个按键时遇到了问题。我有一个系统,其中闭包跟踪所有按下的箭头键。如果玩家按以下顺序按键,这个效果很好: 玩家按下(块向下移动) 玩家按下左(块对角线向下移动-左) 玩家