個人財務 Simplegameでアニメーションを構築する方法。 jsあなたのHTML5ゲーム - ダミー

Simplegameでアニメーションを構築する方法。 jsあなたのHTML5ゲーム - ダミー

目次:

ビデオ: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2025

ビデオ: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2025
Anonim

さまざまなHTML5ゲームエンジンの機能をすべて単純化するライブラリを構築することは可能です。ライブラリ:simpleGameの使用を検討してください。 js。このライブラリは使いやすく、洗練されたゲーム開発が可能です。

  • シーン: このオブジェクトは、HTMLキャンバスオブジェクトで始まり、メインループを追加します。シーンは、ゲームを制御する統一オブジェクトです。

    <! - 1 - >
  • スプライト: これらのオブジェクトは画面上を移動する要素です。ゲーム要素のほとんどはスプライトです。各スプライトは1つのシーンに属している必要がありますが、必要な数のスプライトを持つことができます。スプライトはイメージに基づいています。

実際には、このコードは見た目よりも洗練されています。それは何ですか?

  • ページにキャンバスを追加します。 灰色の四角形は、実際にページに自動的に追加されたキャンバスタグです。

  • ゲームのループを開始します。 このプログラムのゲームループはすでに20フレーム/秒で実行されています。

  • スプライトを含んでいます。 ボールイメージはスプライトであり、任意の方向に任意の速度で移動する機能と、衝突検出などの他の興味深い機能を内蔵しています。

    <! - 3 - >
  • ボールが動いています。 片面から出たときに画面の反対側に自動的に折り返します。

ここにコードリスト全体があります:

redBall。 html //単一の動いているボールを持つ単純なゲームvarシーン; varボール;関数init(){シーン=新しいシーン();ボール=新しいスプライト(シーン、 "redBall。png"、50、50);玉。 setMoveAngle(180);玉。 setSpeed(3);シーン。 start();} //終了するinit関数update(){シーン。 clear();玉。 update();} // end update

基本的なHTML5ページから始まり、いくつかの機能を追加してゲーム環境にします。

ゲームページを構築する方法

基本ページを作成することから始めます。

  1. HTML5ページから始めます。

    他のWeb開発で使用していたのと同じツールを使用できます。他のHTML5ドキュメントと同様に、基本的なHTML5テンプレートを作成します。

  2. simpleGameをインポートします。 jsライブラリ。

    この図書館はウェブサイトから無料で入手できます。タグを使用してライブラリをインポートします。 srcプロパティをライブラリの名前(simpleGame.js)に設定します。

  3. HTMLをシンプルにします。

    あなたはあまり必要ありません。ゲームエンジンはシーンを含むキャンバスを作成します。タイトル、手順、またはスコアボードのようなツールをページに置くこともできますが、ゲームエンジンがほとんどの作業を行います。

  4. 本体のロード時にinit()を呼び出します。

    ボディがロードされるときに呼び出される関数を持つことは非常に一般的です。 bodyタグにonload = "init()"を追加して、init()メソッドを呼び出します。

  5. コードを格納する2番目のスクリプトタグを作成します。

    カスタムコード用の2番目のスクリプトタグが必要です。ライブラリをインポートするタグの後ろに置きます。

  6. スクリプトに2つの関数を配置します。

    すべてのsimpleGameプログラムには少なくとも2つの関数があります。init()は起動時に起こり、update()はフレームごとに1回発生します。

ゲームを初期化する方法

ゲームの初期化部分は、ページの読み込み時に発生します。主にスプライトやその他のリソースを設定することで取り上げられています。コードは次のとおりです:

var scene; varボール;関数init(){シーン=新しいシーン();ボール=新しいスプライト(シーン、 "redBall。png"、50、50);玉。 setMoveAngle(180);玉。 setSpeed(3);} // end init

ほとんどのゲームは、同様のスタイルの初期化を使用します。ゲームを設定する方法は次のとおりです。

  1. シーンを含む変数を定義します。

    すべてのsimpleGameゲームには少なくとも1つのシーンオブジェクトがあります。任意の関数の外にシーンを定義し、すべてのシーンで使用できるようにします。実際には、init()関数内でシーンを作成します。

  2. 各スプライトの変数を定義します。

    ゲーム内のすべてのスプライトは、グローバル変数にも属している必要があります。 init()関数でスプライトを作成しますが、変数をすべての関数で使用できるようにする必要があります。

  3. init()関数をビルドします。

    この関数はbody onloadによって呼び出されます。ページがメモリにロードされた後に実行されます。

  4. シーンを作成します。

    シーンを構築するには、シーンクラスのインスタンスを作成します。あなたが本当に言っていることは、「私にシーンオブジェクトを作ってこの特定のインスタンスを呼び出す」シーンです。 '"シーンにはパラメータは必要ありません。

  5. ボールスプライトを作成します。

    ボールはスプライトのインスタンスです。スプライトを作成するには、さらに情報が必要です。シーン、画像ファイル名、幅、高さが必要です。

  6. ボールの移動角度を設定します。

    ボールが動く角度を変更できます。角度は地図上のように度で測定されます。

  7. ボールの移動速度を設定します。

    ボールの速度も決めることができます。

  8. シーンを開始します。

    すべての設定を終えたら、シーンを開始するように指示します。

ゲームアニメーションを更新する

シーンを開始すると、タイマーが開始されます。毎秒20回、あなたのページでupdate()という関数を呼び出します。だから、あなたはそのような機能を持つ必要があり、あなたのゲームを実行するためのいくつかのコードが必要です。

update()関数もあまり難しくありません。

function update(){シーン。 clear();玉。

前の画面をクリアします。

  • 最初の処理は、最後の画面が原因で発生した混乱を取り除くことです。 Sceneオブジェクトはまさにこの目的のためにclear()関数を持っています。 イベントのチェック:

  • 通常、ユーザー入力、スプライト同士の衝突、画面からのスプライトなど、イベントをチェックします。このシンプルなアニメーションでは、唯一のイベントは画面から離れたスプライトであり、このアクションに関連する動作は自動化されています。 各スプライトを更新する:

  • 画面更新の最後の部分は、スプライトを更新することです。スプライトを更新すると、新しい位置に描画されます。 画面を消去しないとどうなりますか?すべてのスプライトの動きはキャンバスに描画され、移動するボールではなく大きなスミアのように見えます。

Simplegameでアニメーションを構築する方法。 jsあなたのHTML5ゲーム - ダミー

エディタの選択

あなたのEOS 80D写真のためのキヤノンソフトウェアをインストールする> ダミー

あなたのEOS 80D写真のためのキヤノンソフトウェアをインストールする> ダミー

キヤノンは、これらはCanonのウェブサイトからダウンロードできます。あなたの国を選択して、次のページのモデル名プロンプトにEOS 80Dと入力してください。 [Drivers&Downloads]リンクをクリックして、システムにインストールするソフトウェアを見つけます。現在、Canonはお勧めします...

キヤノンEOS Rebel T6 / 1300Dの輝度ヒストグラムを解釈する - ダミー

キヤノンEOS Rebel T6 / 1300Dの輝度ヒストグラムを解釈する - ダミー

Rebel T6 / 1300Dのヒストグラムは、音域を示すのに役立ちます。写真編集プログラムで訂正するのが最も困難な問題の1つは、吹き飛ばされたハイライトまたはクリッピングされたハイライトとして知られています。両方の用語は、画像の最も明るい領域が露出オーバーになり、さまざまな領域が含まれることを意味します。

キヤノンEOS 60Dのライブモードオートフォーカス設定 - ダミー

キヤノンEOS 60Dのライブモードオートフォーカス設定 - ダミー

キヤノン60Dのライブモードオートフォーカスが最適です風景、肖像画、静物などの静止被写体を撮影するのに適しています。あなたがどこを走っているのかを撮影しているなら、あなたはライブモードを使って良いショットを集めることができないでしょう。セット...

エディタの選択

BlogHerが出版ネットワーク - ダミーの

BlogHerが出版ネットワーク - ダミーの

BlogHerが出版ネットワークは、お母さんに集中する最初の広告ネットワークの一つであった、と最初はママのブロガーに焦点を当てる。 BlogHerが、今はお母さんと女性の両方のはるかに大きい聴衆で動作し、まだママブロガーが自分の仕事からの収入を得る手助けする取り組みをリードするパイオニアです。 ...

あなたのママブログのカスタム広告キャンペーンのスポンサーをターゲットにする - ダミー

あなたのママブログのカスタム広告キャンペーンのスポンサーをターゲットにする - ダミー

あなたのママブログのための広告キャンペーン、あなたはキャンペーンの一部であることから多くの利益を受ける特定のスポンサーの後に行きたいかもしれません。あなたが同じことをどうやってできるかについてのいくつかの考えがあります:あなたが何を提供しなければならないかを知る。あなたができることを列挙してください。

オンラインコミュニティマネージャーとしてのあなたの役割を定義するダミー

オンラインコミュニティマネージャーとしてのあなたの役割を定義するダミー

あなたが非常に多くの異なることをするので、難しいです。一方では、お客様のために提唱しています。一方、あなたの忠誠心はあなたのブランドにあります。あなたは多くの異なる人や部門に答えて、さまざまな作業を行います。幸いなことに、オンラインコミュニティのほとんどは...

エディタの選択

従来のHTMLタグをHTML5と統合する方法 - ダミー

従来のHTMLタグをHTML5と統合する方法 - ダミー

圧倒的に新しいHTML5要素は、 HTMLの範囲と範囲つまり、古いタグ(ほとんどの場合)を置き換えません。たとえば、従来のHTMLの6つの見出しタグ、段落タグ、およびリンクは、HTML5ではすべて以前のバージョンのHTMLと同じように使用されます。 If ...

特定の機能のCSS3の検索方法 - ダミー

特定の機能のCSS3の検索方法 - ダミー

Dynamic DriveサイトのjQueryとjQuery UI CSS3で動作します。これらは、これらの2つのAPIをより効率的に使用するのに役立つ並べ替えの拡張です。 jQueryおよびjQuery UI CSSの場所は変更されません。スクリプトの中には、ダウンロードする必要のあるカスタムCSSファイルを提供するものもあります。