我对codding非常陌生,我正在尝试做一个我可以称之为自己的游戏。我不明白这个错误意味着什么,但这是我的代码:
import pgzrun
import math
import random
WIDTH = 800 #5
HEIGHT = 600
CENTER_X = WIDTH/2
CENTER_Y = HEIGHT/2
CENTER = (CENTER_X, CENTER_Y)
FONT_COLOR = (221, 160, 221) #10
ozol = 0
game_over = False
ozolith = Actor("ozolith") #15
def draw():
screen.clear()
ozolith.draw()
draw_counters(ozol) #20
def place_ozolith():
ozolith.x = CENTER_X
ozolith.y = CENTER_Y
#25
def draw_counters(ozol):
screen.draw.text(str(ozol), fontsize=40, center=CENTER, color=FONT_COLOR)
def on_mouse_down(pos):
if ozolith.collidepoint(pos): #30
ozol += 1
place_ozolith
else:
quit()
#35
place_ozolith
pgzrun.go()这是错误消息
Traceback (most recent call last):
File "C:\Program Files\Python38\python-games\GameCraft\GameCraft.py", line 38, in <module>
pgzrun.go()
File "C:\Program Files\Python38\lib\site-packages\pgzrun.py", line 31, in go
run_mod(mod)
File "C:\Program Files\Python38\lib\site-packages\pgzero\runner.py", line 113, in run_mod
PGZeroGame(mod).run()
File "C:\Program Files\Python38\lib\site-packages\pgzero\game.py", line 217, in run
self.mainloop()
File "C:\Program Files\Python38\lib\site-packages\pgzero\game.py", line 247, in mainloop
self.dispatch_event(event)
File "C:\Program Files\Python38\lib\site-packages\pgzero\game.py", line 172, in dispatch_event
handler(event)
File "C:\Program Files\Python38\lib\site-packages\pgzero\game.py", line 164, in new_handler
return handler(**prepped)
File "C:\Program Files\Python38\python-games\GameCraft\GameCraft.py", line 31, in on_mouse_down
ozol += 1
UnboundLocalError: local variable 'ozol' referenced before assignment当我点击左上角的图片时,就会发生这种情况。
发布于 2020-03-21 05:52:34
ozol += 1等于
ozol = ozol + 1但是ozol没有初始值,因此出现了错误。
发布于 2020-03-21 05:49:23
试着把臭氧变成全球性的
global ozol
ozol = 0将全局b4放在您定义的臭氧中,看看它是否有效。
https://stackoverflow.com/questions/60784835
复制相似问题