美文网首页
调试javascript游戏

调试javascript游戏

作者: 超哥__ | 来源:发表于2018-12-06 23:13 被阅读0次

  介绍一下今天发现的,调试html内嵌javascript游戏的方式。现在的web游戏使用WebGL引擎,目前git上star最多的两个项目是https://github.com/photonstorm/phaserhttps://github.com/pixijs/pixi.js,均采用该方式

准备工作

  • 安装VSCode和Chrome
  • 安装VSCode插件——Live Server和Debugger for Chrome,并重启VSCode
  • 建立工程目录,开发js游戏代码
  • 从VSCode下方状态栏选择Live Share,启动http服务器,记录端口(如5500)
  • 为工程设置调试,添加配置->Chrome Launch将端口改为上一步的端口(5500)
  • 在js文件中下断点调试

实际操作

(1) 建立工程目录testwebgl
目录下存在三个文件:bunny.png index.html test.js
bunny.png可以随便找个png格式的图片命名为该名
index.html内容:

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/4.7.1/pixi.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/phaser@3.15/dist/phaser.min.js"></script>
</head>
<body>
<script src="test.js"></script>
</body>
</html>

test.js内容:

/*
// pixi代码测试
const app = new PIXI.Application();
document.body.appendChild(app.view);
PIXI.loader.add("bunny", "bunny.png").load((loader, resources) => {
  const bunny = new PIXI.Sprite(resources.bunny.texture);
  bunny.x = app.renderer.width / 2;
  bunny.y = app.renderer.height / 2;
  bunny.anchor.x = 0.5;
  bunny.anchor.y = 0.5;
  app.stage.addChild(bunny);
  app.ticker.add(() => {
    bunny.rotation += 0.01;
  });
});
*/

// phaser代码测试
var config = {
  type: Phaser.AUTO,
  width: 800,
  height: 600,
  physics: {
    default: "arcade",
    arcade: {
      gravity: { y: 200 }
    }
  },
  scene: {
    preload: preload,
    create: create
  }
};
var game = new Phaser.Game(config);
function preload() {
}
function create() {
  this.add.image(400, 300, "sky");
  var particles = this.add.particles("red");
  var emitter = particles.createEmitter({
    speed: 100,
    scale: { start: 1, end: 0 },
    blendMode: "ADD"
  });
  var logo = this.physics.add.image(400, 100, "logo");
  logo.setVelocity(100, 200);
  logo.setBounce(1, 1);
  logo.setCollideWorldBounds(true);
  emitter.startFollow(logo);
}

(2) 从VSCode状态栏点击Live Share,得到端口5500
选择调试->打开配置->Chrome,将端口改为5500,最终得到.vscode目录下的launch.json文件:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "启动 Chrome 并打开 localhost",
            "url": "http://localhost:5500",
            "webRoot": "${workspaceFolder}"
        }
    ]
}

(3) 在js文件中设置断点并调试
断点设置在这一行: bunny.rotation += 0.01;
启动调试,断点断下!

相关文章

网友评论

      本文标题:调试javascript游戏

      本文链接:https://www.haomeiwen.com/subject/hfaacqtx.html