2014-11-08 2 views
0

Я получаю эту ошибку «событие локального участника, на которое ссылаются перед назначением» в следующем коде.Местный участник, на который ссылается до назначения

for event in event.get(): 
    if event.type == QUIT: 
     sys.exit 

Я даже попытался добавил global event перед началом для цикла, но затем я получаю сообщение об ошибке сказав «член события не определен».

Может ли кто-нибудь помочь мне в этом?

+0

'для события в event.get():' - хмм, событие «получает»? Это немного странный случай, если событие действительно объявлено глобальным, но основным решением является использование другого (локального) имени переменной для цикла. – user2864740

+0

вы пробовали 'if event.type == pygame.QUIT:' и/или 'для события в pygame.event.get():'? и ваша отсутствующая скобка на 'sys.exit' (должна быть' sys.exit() ') – Thedudxo

+0

Может ли быть, что вы используете одно и то же имя переменной' event' для итерационного элемента и итератора? Может быть, 'для evt в event.get():' –

ответ

1

Смотрите этот пример из Pygame документы:

import random, time, pygame, sys 
from pygame.locals import * 
... 
for event in pygame.event.get(): 
    if event.type == QUIT:  #event is quit 
     terminate() 

Я предполагаю, что проблема в том, что вы импортировали pygame.event, так что вы получаете конфликт имен. Измените свой импорт, чтобы просто импортировать pygame (и используйте квалифицированную ссылку pygame.event), либо, как было предложено, используйте другое имя для своей переменной итератора.

Смежные вопросы