你的问题是,你要设置的文字描述字符串加载页面时,用户已经选择了派前。
// curFaction is undefined here, as user cannot select a faction
// *before* the page is loaded!!
var aLevel[1] = "Description1 of guy from " + curFaction + ".";
的最快修复是,当它需要产生的说明。这样做的一个方法是将存储功能aLevel
,而不是字符串,如下所示:
var aLevel[1] = function() { "Description1 of guy from " + curFaction + "."; };
var aLevel[2] = function() { "Description2 of guy from " + curFaction + "."; };
var aLevel[3] = function() { "Description3 of guy from " + curFaction + "."; };
然后,当你需要你的描述,调用该函数:
// Original code:
"Stuff about claim on throne. " + aLevel[temp6] + ".";
// New code - note brackets after "aLevel[temp6]"
"Stuff about claim on throne. " + aLevel[temp6]() + ".";
我'created a Fiddle显示了这一点。
顺便说一句,你的代码一般可以重构了很多 - 作为一项规则,如果你发现你正在编写相同的算法,一遍又一遍,然后你需要记住DRY principle :)
哪条线路是gen的功能叫什么? –
你想问什么。 jsFiddle工作正常。问题是什么。你可以指出它在jsfiddle –
尝试使用萤火虫 - 观察控制台,并看看底层系统是否在幕后做出任何意外的请求 - 也许游戏正在做一个操纵这个变量的值的Ajax请求。 – Oliver