javascript结构,我的游戏循环正在执行吗?

标签 javascript html

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

这款游戏最初是通过修改我遵循的教程而创建的,我一直在尝试重组它以使其更易于使用。但是,我无法确定主函数是否正在执行,或者是否有其他原因导致我只得到空白 Canvas 。

我正在运行旧版本的代码,但自从我重组和简化它以来,我仍然无法找出问题所在。

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

首先,网页启动 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,所以我无法真正判断主函数是否正在运行。

最佳答案

console.log() 是你的 friend 。

使用方法如下:

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

当您在浏览器中运行代码时,如果您的 main() 函数被执行,您将在控制台中看到一条日志。

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

关于javascript结构,我的游戏循环正在执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587716/

相关文章:

Javascript 类作为对象的子对象

javascript - 如何防止Wordpress内置 “browse link”在wp-editor中输入数据

android - JSoup 没有显示 Java 中的所有 html(缺少 td 和 tr 标签)

php - CodeIgniter - 在网页上创建 "block"元素的正确方法

java - 错误: Main method not found in class Example_Applet,

javascript - html 图像何时开始下载数据?

javascript - 为什么我不能使用 JS 检索元素的 CSS 样式属性?

javascript - ES6 更改为 API 请求中的固定值

javascript - 从本地存储检索数据时如何将数据转换为不同类型

javascript - 如何停止图片的幻灯片放映?