回答:
オーディオとビデオのタグに注意する必要があります。Web Storageは、保存したゲームなどのために大量のデータを保存する必要がある場合に非常に重要です。
すでにいくつかのJavascript html5ゲームフレームワークがありますが、秋葉原はかなり人気があります。
他のライブラリに関しては、JqueryとFunctional Javascriptが私のお気に入りの2つです。
より多くのリソースをそこに放り出すために、RaphaelJSをチェックしてください。これは、優れたAPIを備えた非常に優れたSVG描画およびアニメーションライブラリです。デモをチェックアウトすることを忘れないでください。
全体的に、<canvas>
ストレートDOM操作よりもタグをお勧めします(たとえば、各スプライトを独自<div>
に作成して、ヒットテストを驚くほど簡単にします)。DOM操作が間違っていてパフォーマンスが悪いのは簡単ですが、従来の2D開発戦略はHTMLキャンバスでうまく機能します。
そこにあるいくつかのゲーム作成フレームワークに加えて、HTML5 CanvasでSVGベースのアニメーションを表示するためのJSフレームワークであるBurst Engineに注意する必要があります。
これまで、人々がタグとタグに言及しているのを見てきましたが、JS / HTMLゲーム開発に不可欠な他のDOMのものがあります。たとえば、これは最初のキャンバス要素を取得して設定し、キャンバスをクリックすると、「shootAtClick」と呼ばれる定義済みの関数を呼び出すようにします。
document.getElementsByTagName( "CANVAS")[0] .addEventListener( 'mousedown'、shootAtClick、false);
基本的なマウス制御を受け入れるように秋葉原エンジンを拡張したこの例では、実際の動作を確認できます。(Zを押して開始し、矢印キーを使用して移動し、マウスをクリックしてカーソルの方向に撃ちます。)
どのブラウザーでどのHTML5コンポーネントがサポートされているかに関する知識。
時間が経つにつれて、ブラウザ間の互換性は向上し、より均一になりましたが、一部の新しいコンポーネントは完全に同等にサポートされていません。
ローカルストレージにはブラウザ固有の違いがある場合があります。レガシーサポートのためには、jStorageやYUI Storage Liteなどのライブラリが必ず必要です。です。
Webソケットにもブラウザ固有の違いがありますが、socket.ioは便利な抽象化を提供する有望なライブラリのように見えます。
オーディオの互換性は、ブラウザごとに異なるサウンドファイルを必要とする非常に主要なコンポーネントです:http : //html5doctor.com/native-audio-in-the-browser/
Chromeには、短いオーディオファイルを再生できないなど、いくつかの重大なオーディオバグがあり、同時に多くのサウンドを再生するとブラウザ全体がクラッシュする可能性があります。
主なことは、必要に応じてライブラリを使用して抽象化してレガシーサポートを提供し、ブラウザの違いを理解することです。
HTMLとJavaScriptは正直、ゲーム開発にはかなり悪いプラットフォームですが、ゲームの種類を決定するまでは問題になりません。一人称シューティングゲーム、RTS、またはパズルゲームでは、答えは根本的に異なります。
あいまいで手当たり次第な答えが得られ始めていることに注意してください。これは、特に正当な回答を含む質問をしていないという警告サインです。
アプリケーションを作成するために必要なC ++の内容を尋ねることもできます。場合によります。プロジェクトについて詳しく教えてください。役に立つ答えが得られるかもしれません。
全体として、ほぼすべてのWebゲームが依然としてFlashであるという理由があります。