私はHTML5(およびOO Javascript)を学習中です。単純なゲームエンジンを作成しようとしていますが、キャンバスへのレンダリングは非常に奇妙な条件下で動作します。 Hereは、ページへのリンクであり、ここで私のindex.htmlです:最初にロードされると
HTML5 Canvas rendering odd odd
<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例外とTypeError例外を与える Chrome 18.0の例外それを動作させるには:
Firefoxの11.0
- は、アドレスバーにURLを選択して、手動で入力するか、または
- リフレッシュボタンや
- F5キーを押しをクリックしますヒット。
クローム18.0
- は、アドレスバーにURLを選択して、手動で入力するか、または
- リフレッシュボタンや
- [F5]キーを押しOR
- Shiftキーを押しながら/ Ctrlキー+ F5をクリックしてくださいヒット。 私は疑う何
- ただ、推測ではなくの.jsファイルのいずれかが、それが最初のページのロード時に呼び出された時点でレディ/利用できないように思えます。 Firebugで数回ステップを踏んで、スプライトイメージが最初のページリクエストにロードされることはないようです。
Game()のインスタンス化が行われ、キャッシュされ、2ページ目のロードだけが利用可能なため、一部の.jsファイルがまだダウンロードされていますか?
アイデア?私はあなたのそれに感謝します、ありがとう!
私はGame.jsを4つのインクルードの最初のものにしましたが、私は同じ動作をしているようです(私はリフレッシュされたので、キャッシュされたコピーから外れません) –