個人財務 HTML5ゲーム用バーチャルジョイスティックを作成する方法 - ダミー

HTML5ゲーム用バーチャルジョイスティックを作成する方法 - ダミー

Anonim

多くのタッチベースHTML5ゲームでは、仮想ジョイスティックのメカニズムが使用されています。ユーザは画面をタッチして入力を開始し、次に入力を行うためにスワイプする。ジョイスティックを左に動かすのと同じように、左にスワイプします。ユーザーがスワイプするほど、入力値は大きくなります。 simpleGameライブラリには、タッチベースのデバイスに仮想ジョイスティックを簡単に実装できる仮想ジョイスティックオブジェクトがあります。

<! - 1 - >

仮想ジョイスティックは数値データを返すことで動作します。数値出力を視覚的要素にマッピングする前に数値出力を調べることで、それがどのように機能するかを理解するのが最も簡単です。

ジョイスティックテストvarゲーム; var出力; varジョイスティック。 関数init(){game = new Scene();出力=ドキュメント。 getElementById( "output"); if(game。touchable){ joystick = new Joy(); } else { alert( "このテストにはタッチベースのインターフェースが必要です"); } ゲーム。 {(999)jx =ジョイスティックの場合){ if(game。touchable){ getMouseX(); jy =ジョイスティック。 getMouseY(); jdx =ジョイスティック。 getDiffX(); jdy =ジョイスティック。 getDiffY(); result = "joystick x:" + jx + " "; 

result + = "joystick y:" + jy + " ";

result + = "joystick dx:" + jdx + " ";

result + = "joystick dy:" + jdy + " ";

出力。 ここにはまだ何もありません 仮想ジョイスティックは非常に使いやすいです:

ジョイスティックの変数を作成します。
  1. ジョイスティックと呼ぶことができます。キャッチーな種類。

    できるだけジョイスティックを作成します。

  2. ゲームを使用します。 touch interfaceが存在するかどうかを判断するためにtouchableプロパティを使用します。そうでない場合は、ユーザーにメッセージを送信します。

    マウスの位置を取得します。

  3. 仮想ジョイスティックオブジェクトが画面上のタッチを検出すると、mouseXとmouseYの値がトリガされます。ジョイスティックのgetMouseX()メソッドとgetMouseY()メソッドを使用して、タッチのXとYの位置を決定します。このようにして、タッチインタフェースは伝統的なマウスのように機能します。

    <! - 3 - >

    ジョイスティックからdiffXとdiffYを読み込みます。
  4. ユーザが画面をタッチすると、ライブラリは初期タッチの座標を追跡する。その後、ユーザーがスワイプした距離を測定します。 Xの違いをdiffX、Yの違いをdiffYといいます。仮想ジョイスティックオブジェクトのgetDiffX()メソッドとgetDiffY()メソッドを使用して、ユーザーが画面に触れてから移動したXとYのピクセル数を判断します。

    現在の値を表示します。

  5. この最初のパスでは、ジョイスティックが何を表示しているのかを理解することが重要なので、値を取り出してスクリーン出力に出力してください。

    もちろん、仮想ジョイスティックのポイントは、画面上で物を動かすことです。

コードは次のとおりです:

joystick Test var game; varボール; varジョイスティック;関数init(){ゲーム=新しいシーン();ボール=新しいスプライト(ゲーム、 "redBall。png"、50、50); else {alert( "このゲームにはタッチスクリーンが必要です");} //ボールの場合は終了します。 setSpeed(0);玉。 setPosition(400、300);ゲーム。 start();} //終了するinit関数update(){ゲーム。 clear(); if(game。touchable){ボール。 setDX(ジョイスティック。getDiffX());玉。 setDY(ジョイスティック。getDiffY());} //タッチ可能なボールを終了します。 update();} // end update

この例は、前の例よりもさらに単純です。

単純なボールスプライトを作成します。

  1. この例では、単純なボールが使用されています。他の基本スプライトと同じように作成します。

    ジョイスティックオブジェクトを作成します。

  2. 仮想ジョイスティックオブジェクトを作成します。

    ジョイスティックのdiffXとdiffYをボールのdxとdyの値にマップします。

  3. これは非常に敏感な動きを与えるので、diffXとdiffYをいくつかの倍率で除算することで感度を調整することができます。

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