所以我正在制作一款游戏,而我现在正试图制作一个Level Selector。但是我只希望球员能够在他们击败的水平上进行比赛。 所以我有一个.js文件标有" ELD.js"它包含:
var Levels = 0;
我并不十分关心(在编程类型方面)。但我希望能够改变" Levels"每次我赢得一个级别的数据值。 每个级别都有自己的html文件,所有级别文件都与" ELD.js"在同一个文件中。文件。
我已经找到了答案,但似乎没有一个符合我的要求。
虽然我在这个问题上(如果我错了,请纠正我),但我可以简单地测试"级别"数据值使用这个权利?
<script type="text/javascript" src="ELD.js"></script>
<script>
if(Levels =< X)
{
}
</script>
X代表一个未定义的数字,我稍后会选择。
答案 0 :(得分:2)
您可以将javascript文件构建为类,并将该变量分配给类,例如:
class GameLevel {
constructor (level) {
this.level = level;
}
get_level () {
return this.level;
}
set_level (level) {
this.level = level;
}
}
然后在整个游戏中你都有了自己的对象:
var cur_level = 1;
var level = new GameLevel (cur_level);
然后在比赛结束后,你只需致电
level.set_level (++cur_level)
我相信你甚至可以说level.level = cur_level + 1;
修改强>
还要通过你,因为你想将你的javascript数据传递给另一个html文件 还有一种方法可以解决这个问题。你可以使用这个逻辑:
这就像一种奇怪的方式,但我相信它可以工作:)这样做你运行以下代码:
var newLevel = window.open (<URL TO HTML FILE>, '_blank');
// passing thejavascript data
newLevel.new_level = level.get_level ; // This is the data to pass or you can use the variable you had declared
// focus on new window
newLevel.focus ();
// close current window
window.close ();
修改强>
然后在您的所有html文件中,您可以使用window.new_level
获取新级别数据的值
当窗口打开时,它将具有您设置的值。