我不太习惯es5,所以我遇到了麻烦,因为我不得不使用es5。问题是当我这样做时,updateScoreboard({"name":"foo","bgColor":{"r":47.0,"b":79.0,"a":255.0,"g":79.0}})
要在记分板上创建一个新面板,我的isPlayerInScoreboard
函数将返回false,因为playerName2
是一个全局变量,并且未绑定到PlayerPanel函数,您可以通过调用{ {1}}
然后注销“ playerName2”,我不认为它应该是全局变量,但不知何故
编辑:当我这样做时
updateScoreboard({“ name”:“ foo”,“ bgColor”:{“ r”:47.0,“ b”:79.0,“ a”:255.0,“ g”:79.0}}) updateScoreboard({“ name”:“ bar”,“ bgColor”:{“ r”:47.0,“ b”:79.0,“ a”:255.0,“ g”:79.0}})
在我的面板数组中,所有对象的getPlayerName方法都返回最后输入的名称,因此,在这种情况下,如果我做了panel [0] .getPlayerName(),它将返回“ bar”,而应该返回“ foo” >
updateScoreboard({"name":"foo","bgColor":{"r":47.0,"b":79.0,"a":255.0,"g":79.0}})
答案 0 :(得分:0)
在其中使用“ this”时,应使用“ new”调用PlayerPanel。
function updateScoreboard(plyInfo){
if (!isPlayerInScoreboard(plyInfo.name)) {
new PlayerPanel(plyInfo)
}
}