javascript结构,是我的游戏循环执行?

时间:2014-05-11 00:28:03

标签: javascript html5

我正在开发一个HTML5 3D等距游戏(想想sim city 2000风格的图形),我不太确定我的代码的哪些部分是,并且没有执行。

游戏最初是通过修改我遵循的教程而创建的,我一直试图对其进行重组以使其更易于使用。但是,如果主要功能正在执行,我就无法解决,或者我还有其他一些原因让我得到空白的画布。

我有一个旧版本的代码正在运行,但我仍然无法解决自从重组并简化它以来出了什么问题。

这就是我的代码中发生的事情......

首先关闭网页启动game.js脚本并运行init函数:

<body onload='init()'>
    <div id="content">
        <h2>Tile Engine</h2>
        <script src="js/game.js"></script>
    </div>
</body>

init函数如下所示:

var init = function() {
    initCanvas();
    initTiles();
    initMap();
    handleKeyboard();
    handleMouse();

    main();

    // Let's play this game!
    then = Date.now();
    setInterval(main, 1); // Execute as fast as possible
};

主要功能如下:

var main = function() { 
    now = Date.now();
    delta = now - then;

    update(delta / 1000);
    render();

    then = now;
};// Main game loop

如果您想查看完整的代码库,可以在下面找到git存储库(我已将其公开): https://bitbucket.org/suipaste/isotile/overview

我的一个主要问题是,我不确定如何处理调试js,所以我无法确定主函数是否正在运行。

1 个答案:

答案 0 :(得分:0)

console.log()是你的朋友。

以下是您使用它的方式:

var main = function() {
    console.log('main called');
    .
    .
    .
};

在浏览器中运行代码时,如果执行main()功能,您将在控制台中看到日志。

您可以按 F12 然后点击Console来访问控制台。