说该对象没有属性

时间:2017-12-14 02:10:49

标签: python python-3.x

python(3.4.0)

pygame(pygame-1.9.3-cp34-cp34m-win_amd64)

import pygame
from pygame import *
init()
display.set_mode((500,500))
gameExit = False
while not gameExit:
    for event in event.get():
        print(event)
    display.update()

当运行它时,pygame窗口正常打开,但我明白了:

<Event(17-VideoExpose {})>
<Event(16-VideoResize {'h': 500, 'size': (500, 500), 'w': 500})>
<Event(1-ActiveEvent {'gain': 0, 'state': 1})>
<Event(4-MouseMotion {'buttons': (0, 0, 0), 'rel': (500, 309), 'pos': (499, 
308)})>
Traceback (most recent call last):
  File "C:\Python34\a_2.py", line 7, in <module>
    for event in event.get():
AttributeError: 'Event' object has no attribute 'get'

如果我设置了以下对象没有属性:

from pygame import *

???????

OBS:当我仅导入时:

import pygame

并放入pygame。在每个pygame函数运行之前

感谢任何帮助^^

1 个答案:

答案 0 :(得分:0)

不要使用相同的变量名称。它在第一次迭代时被覆盖:

for event in event.get():

当此for循环开始执行时,它会将名称event重新绑定到没有get()方法的对象。因此问题。

尝试类似:

for ev in event.get():
    print(ev)

另外,请避免import *。然后你可以写:

for event in pygame.event.get():
    print(event)