如何使此功能正常工作?有没有好的替代品?
position=0
score=0
eggY=300
eggX=0
def egglg():
while True:
global eggX
global eggY
if eggX<330:
eggX+=5
eggY+=0.8
elif eggX>=330:
eggY=eggY+2
if eggY>450:
terminate()
elif eggY<450 and eggY>350 and position ==1:
score+=1
return
#rest of my code, with chaning position to 1 when i press w
egglg()
它以某种方式返回0
最佳答案
由于要写入全局变量eggX
,eggY
和score
,因此必须声明所有3个变量global
:
position=0
score=0
eggY=300
eggX=0
def egglg():
global eggX, eggY, score
# [...]
注意,变量
position
只是读取的,因此没有必要将其声明为golabal
。关于python - 全局分配前引用的局部变量不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58863907/