個人財務 HTML5ゲームでマルチステートアニメーションを作成する方法

HTML5ゲームでマルチステートアニメーションを作成する方法

ビデオ: HTML5 Canvasで作るアニメーション- iPhoneの傾きと組み合わせてみる - 2025

ビデオ: HTML5 Canvasで作るアニメーション- iPhoneの傾きと組み合わせてみる - 2025
Anonim

あなたのHTML5ゲームでこのような動きが起こると、洗練された複数のアニメーションが必要になります。いつでもスプライトに関連付けられたイメージを変更するには、changeImage()またはsetImage()関数(同じものの2つの異なる名前)を使用できます。しかし、時には、もっと洗練されたアニメーションが必要な場合もあります。 walkAnimを見てください。 html。 <! --1 - >

ここにはイメージ交換がたくさんあります。ウォーキングアニメーションは実際にウォーキングの錯覚を与えるために急速に交換された一連の8つの異なるイメージです。 4種類のアニメーションがあります(それぞれの基本方向の1つです)、合計32の異なるイメージです。しかし、コードを見ると、文字スプライトには1つのイメージしか含まれていないことがわかります。

<! - 2 - >

この画像は合成アニメーションです。各行は方向を表し、各行は繰り返すことを意図した1つのサイクルまたは一連の画像を含む。

rpg_sprite_walk。 png画像はFranck Dupontによって作成されました。彼は寛大にこのイメージをOpenGameArtに投稿しました。彼はアリクエルとして知られています。 "彼は" Attribution-Share Alike "という特別ライセンスのもとで仕事をリリースしました。 "これは、元の作者を帰属させている限り、人々が自分の作品を無料で使用またはリミックスできることを意味します。

<! - 3 - >

背景画像は、Hyptosisという名前の作者が、同じサイト上のパブリックドメインで画像を公開したものです。 FranckやHyptosisのような才能豊かで慎重な貢献者は、盛んな創造的なコミュニティの鍵です。あなたのゲームで使用するより偉大なアートワークのためのオープンゲームアートサイトを自由に見てもらえますが、著者に感謝し、属性を付けてください。

シンプルゲーム。 jsライブラリには、マルチイメージアニメーションを簡単に作成するための機能が含まれています。 walkAnimのコードを見てください。 htmlを使ってどのように動作するか見てみましょう:

walkAnim。 htmlのvarのゲーム; var背景; var文字。関数init(){ゲーム=新しいシーン(); background = new Sprite(ゲーム、 "rpgMap。png"、800,600);バックグラウンド。 setSpeed(0、0);バックグラウンド。 setPosition(400、300);

文字=新しいスプライト(ゲーム、 "rpg_sprite_walk.png"、192、128);

文字。 loadAnimation(192,128,24,32); 文字。 generateAnimationCycles(); 文字。 renameCycles(新しい配列( "down"、 "up"、 "left"、 "right")); 文字。 setAnimationSpeed(500); //一時停止した文字を開始します。 setPosition(440,380);キャラクター。 setSpeed(0); 文字。 pauseAnimation(); 文字。 setCurrentCycle( "down"); ゲーム。start();} //終了するinit関数update(){ゲーム。 clear(); checkKeys();バックグラウンド。更新();キャラクター。 (キーダウン[K_LEFT]){ 文字。 setSpeed(1); 文字。 playAnimation() 文字です。 setMoveAngle(270); 文字。 setCurrentCycle( "left"); } if(keysDown [K_RIGHT]){character。 setSpeed(1);キャラクター。 playAnimation()文字です。 setMoveAngle(90);キャラクター。 setCurrentCycle( "right");} if(keysDown [K_UP]){character。 setSpeed(1);キャラクター。 playAnimation()文字です。 setMoveAngle(0);キャラクター。 setCurrentCycle( "up");} if(keysDown [K_DOWN]){character。 setSpeed(1);キャラクター。 playAnimation()文字です。 setMoveAngle(180);キャラクター。 setCurrentCycle( "down");} if(keysDown [K_SPACE]){ 文字。 setSpeed(0); 文字。 pauseAnimation(); 文字。 setCurrentCycle( "down"); }} アニメーションを構築するには、いくつかの新しいステップを取る必要がありますが、結果は完全に努力する価値があります。 アニメーション画像を取得する。

自分でイメージを作成することも、OpenGameArtのような優れたリソースを見ることもできます。他の人が行った作業を見つけることができます。もちろん、あなたは他人の仕事を尊重する責任がありますが、今日は非常に容認されたライセンスで利用可能な素晴らしい仕事があります。イメージが行と列で構成され、各サブイメージがまったく同じサイズであることを確認してください。

  1. 画像が適切な形式であり、各サブ画像のサイズがわかっていることを確認するには、画像エディタを操作する必要があります。

    アニメーションイメージをスプライトに貼り付けます。

    あなたはスプライトに画像全体を添付しますが、一度に小さな部分を表示するだけです。これはたくさんの画像を扱うよりも簡単ですし、より効率的です。

  2. loadAnimation()メソッドを使用してアニメーションオブジェクトを作成します。

    オブジェクトのloadAnimation()メソッドを呼び出すと、アニメーションの管理に役立つアニメーションツールが作成されます。最初の2つのパラメータは画像全体のサイズ(幅と高さ)で、2つ目のパラメータは各サブ画像の幅と高さです。これらの値が間違っていると、アニメーションがスクロールするように見えます。これらの値が正しくなるまで再生を続けます:

  3. 文字。 loadAnimation(192,128,24,32);

    アニメーションサイクルを構築します。

    各行はアニメーションサイクルに変わります。デフォルトのバージョン(パラメータなし)は、ほとんどの状況で正常に動作します。このツールのより高度な使い方については、
    
  4. 文字を参照してください。 generateAnimationCycles();

    サイクルの名前を変更します。

    buildAnimationCycles()コマンドで作成されたアニメーションにはデフォルトの名前が付いていますが、もっと意味のある名前を付けるほうが殆どです。各行が表すものを示す名前を持つ配列を
    
  5. 文字として追加します。 renameCycles(新しい配列( "down"、 "up"、 "left"、 "right"));

    アニメーションの速度を設定します。

    アニメーションの速度は、アニメーションの実行速度を示します。ほとんどのアプリケーションでは500の値が正しいように見えますが、この値を調整してキャラクターの歩行サイクルがキャラクターを実際に推進しているように見せることができます:
    
  6. setAnimationSpeed(500);

    表示するサイクルを設定します。

    setCurrentCycle()メソッドを使用すると、renameAnimationCycles()ステップで指定した名前の1つ、
    
  7. 文字でサイクルを選択できます。 setCurrentCycle( "down");

    pauseAnimation()コマンドを使用して、アニメーションを一時停止します。

    pauseAnimation()コマンドはアニメーションを一時停止します。
    
  8. playAnimation()を使用してアニメーションを開始します。

    このメソッドは、現在のアニメーションサイクルを連続的にループします。

  9. ご覧のとおり、アニメーションはゲームに多大な楽しみを追加し、あなたのレパートリーにロールプレイングゲームの全領域を開きます。

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ファイルを提供するものもあります。