Just one little correction. Technically, 'dirty' does contain a value
at that for loop, however, the interpreter believes that 'dirty' is a
local variable, separate from the globally defined one.
Whenever an assignment to a variable takes place in a function, the
interpreter assumes that it is local, even if there is a global
variable that has the same name (and even if there is references to
the value that do _not_ write to it).
Changing main() like so:
def main():
global dirty # reference the global dirty variable
frames=0
... #etc
should do the trick.
- Ian
From: Ricardo Jamin <ricardo@jaminphotography.com>
Reply-To: pygame-users@seul.org
To: pygame-users@seul.org
Subject: Re: [pygame] Paralax snow flaks: Some tipps for enhancing
the performance?
Date: 3 May 2004 12:06:26 -0000
You guessed it right.
the first time you call dirty in the main()
is in that for loop. So there\'s no value in the variable yet, not
even None.
By mischance the Interpreter splits out this:
File \"schneeflocken_dirty_rects.py\", line 69, in main
for i in dirty:
UnboundLocalError: local variable \'dirty\' referenced before
assignment
Hmm, i don\'t really understand this error message. It means
something like \"want\'s to deal with a variable which hasn\'t been
declared yet\" ??? Hmm, i think will toy around with this problem a
little bit!
greets, Ludwig
_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN Premium
http://join.msn.com/?pgmarket=en-ca&page=byoa/
prem&xAPID=1994&DI=1034&SU=http://hotmail.com/
enca&HL=Market_MSNIS_Taglines