【发布时间】:2012-04-19 18:51:42
【问题描述】:
我正在学习 HTML5(和 OO Javascript),并且正在尝试制作一个简单的游戏引擎,但渲染到画布的工作条件非常奇怪。 Here 是该页面的链接,这是我的 index.html:
<html>
<head>
<script type="text/javascript">
function load()
{
var game = new Game();
game.start();
}
</script>
<title>Game</title>
<style>
canvas
{
outline:0;
border:1px solid #000;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body onload="load()">
<canvas id='c'></canvas>
<script src="classes/Tuple.js"></script>
<script src="classes/Rect.js"></script>
<script src="classes/Sprite.js"></script>
<script src="classes/Game.js"></script>
</body>
</html>
首次加载时,它会在 Firefox 11.0 中给出 NS_ERROR_DOM_TYPE_MISMATCH_ERR 异常,在 Chrome 18.0 中会给出 TypeError 异常。让它发挥作用:
火狐11.0
- 在地址栏中选择 URL 并手动回车或
- 单击刷新按钮或
- 按 F5。
Chrome 18.0
- 在地址栏中选择 URL 并手动回车或
- 单击刷新按钮或
- 按 F5 或
- 按 Shift/Ctrl + F5。
我的怀疑 - 只是猜测,但似乎一个或多个 .js 文件在第一个页面加载期间被调用时不可用/准备就绪。在 Firebug 中经历了几次之后,精灵图像似乎永远不会在第一页请求中加载。
也许一些 .js 文件仍在被下载,因为正在对 Game() 进行实例化,然后被缓存,并且只有在第二个页面加载时才可用?
有什么想法吗?非常感谢您的支持,谢谢!
【问题讨论】:
-
嗯,我将 Game.js 设置为四个包含中的第一个,但我似乎得到了相同的行为(我强制刷新,所以我不会离开缓存副本)跨度>
标签: javascript html canvas rendering typeerror