我正在学习 HTML5(和 OO Javascript),并且正在尝试制作一个简单的游戏引擎,但渲染到画布在非常奇怪的条件下工作。这是该页面的链接,这是我的 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 并手动按 Enter 或
- 单击刷新按钮或
- 按 F5。
铬 18.0
- 在地址栏中选择 URL 并手动按 Enter 或
- 单击刷新按钮或
- 按 F5 或
- 按 Shift/Ctrl + F5。
我怀疑- 只是一个猜测,但似乎一个或多个 .js 文件在第一页加载期间被调用时不可用/准备就绪。在 Firebug 中经历了几次之后,精灵图像似乎永远不会在第一页请求中加载。
也许一些 .js 文件仍在被下载,因为正在对 Game() 进行实例化,然后被缓存,并且只有在第二个页面加载时才可用?
有任何想法吗?非常感谢您的采纳,谢谢!