打印稿窗口.Onload不被调用后,增加了相位游戏的要求
Typescript window.onload not being called after adding requirejs for phaser game
我正在尝试使用相位器和Typescript制作游戏。我按照这里的说明做了,它最初起作用了。问题来了,当我试图使用AMD模块化我的代码和要求
index . html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Resonate</title>
<link rel="stylesheet" href="app.css" type="text/css" />
<script src="phaser.js"></script>
<script src="http://requirejs.org/docs/release/2.1.20/minified/require.js" data-main="app"></script>
</head>
<body>
<h1>RESONATE</h1>
<div id="content"></div>
</body>
</html>
Player.ts
export class Player {
color: string;
constructor() {
this.color = "#0000ff";
}
}
app.ts
import player = require("Player");
class PhaserDemo {
game: Phaser.Game;
constructor() {
this.game = new Phaser.Game(800, 600, Phaser.WEBGL, 'content', { preload: this.preload, create: this.create });
}
preload() {
this.game.load.image('phaser_run', 'run.png');
}
create() {
console.log("Before");
var p = new player.Player();
this.game.stage.backgroundColor = p.color;
}
}
window.onload = () => {
console.log("ONLOAD");
var game = new PhaserDemo();
};
现在当我加载它的窗口。onload从来没有被调用过,我试着遵循窗口。Onload不调用函数对于Javascript解决方案,但我不能让它在typescript中工作。
这里是生成的Javascript如果你想看一下https://gist.github.com/koreus7/06bee4a30d22bdc76d62
的Javascript解决方案,但我不能让它在typescript工作。
基本上,如果窗口已经加载到window.onload
,将不会调用附加的函数。
检查document.readyState === "complete"
。或者使用jquery ready: https://api.jquery.com/ready/
我相信这是由require.js加载器引起的,它没有我明确地知道它有点类似于jspm system.js,所以我们不需要确保窗口被加载,因为加载器已经确保了。
我刚把窗户拆了。Onload和它工作得很好:)
相关文章:
- JQuery使计数器每次更改时都会增加
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 如何增加同时按键总数
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用css动画从中心增加边界线
- Javascript游戏输入失去焦点
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- JavaScript:单击时相对于父级增加变量值
- PaperJS-增加矢量幅度
- 如何每10.6秒从时间戳增加+1
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- setInterval游戏循环的范围问题
- 为网络游戏制作动画
- 使用Jquery增加选项卡
- 重置游戏和获胜者问题
- 通过JSON中的值增加
- 如何在javascript游戏中随着时间的推移增加产卵率
- 游戏如何在不影响db的情况下每小时增加x个金币?
- Javascript扫雷游戏,不能增加右单元格
- 打印稿窗口.Onload不被调用后,增加了相位游戏的要求