我主持了一个在python上运行的多人游戏,我想以这样一种方式编辑脚本:当我加入一个显示我正在玩的消息时,它会显示在每个人的屏幕上。我能够做到这一点,但信息显示在每场比赛的开始,我试图解决它,但我得到了一个问题。 这是我要编辑的python脚本:
def onPlayerJoin(self,player):
'Called for all new bs.Players (including the initial set of them).'
if player.getName(full=True,icon=False) == "AwesomeLogic":
if g == 0:
bs.screenMessage("AwesomeLogic is playing")
g = 1
def onPlayerLeave(self,player):
'Called when a player is leaving the activity.'
g = 0
但这给了我一个错误:
if g == 0: UnboundLocalError: local variable 'g' referenced before assignment
谁能告诉我我做错了什么吗?你知道吗
了解变量范围:默认情况下,在函数中分配的所有变量(重新分配)都被视为局部变量。你的
g
就是这样,因此g
被认为是局部的,在if g == 0:
还没有定义。你知道吗可以使用
global g
将g
定义为函数中的全局变量,但强烈建议不要使用全局变量。。。你知道吗相关问题 更多 >
编程相关推荐