所以,我正在用JavaScript用HTML Canvas编写游戏。为了组织的目的,有很多不同的JS文件,但是有时,当我声明一个新变量时,许多(如果不是全部)其他变量在其他文件中将变得不可访问。为什么会这样?我将举一个例子,以便您更好地理解。假设我在file1.js中定义了此变量:
var randomVariable;
然后,在file2.js中,我尝试使用它:
randomVariable = 5;
if(randomVariable == 6){
<some code idk>
}
这有效,但是有时无效。有时控制台告诉我file2.js中未定义“ randomVariable”。这是不一致的,我无法查明是什么原因造成的。我有一个个人库,其中包含一些有用的函数,并且在代码中使用了这些函数,但是有时,每个调用都会中断,并指出其未定义。我无法解决这个问题。在任何人问之前,这是.html文件的定义方式:
<html>
<canvas id="gameCanvas" width=800
height=600></canvas>
<script src="js/HUD.js"></script>
<script src="js/classes.js"></script>
<script src="js/movement.js"></script>
<script src="js/gameplay.js"></script>
<script src="js/graphics.js"></script>
<script src="js/input.js"></script>
<script src="js/audio.js"></script>
<script src="js/Main.js"></script>
</html>
这就是html代码的全部。有人告诉我这些文件的调用顺序很重要。但是,有时会,有时却没有。有时我可以从“音频”中定义的“类”中调用函数和变量。其他时候,它坏了。我非常需要帮助,因为它使编码变得不可能。
答案 0 :(得分:0)
将此添加到每个文件:
window.addEventListener("load", function() {
//Your code here
});
这将确保您的代码仅在Windows加载后才执行。因此,只有在正确加载所有文件之后。