ビデオ: LIBGDX para Android - Tutorial 17 - Draw Actor - How to make games Android 2025
プロパティはHTML 5ゲームのオブジェクトの特性を記述し、 メソッド はその動作を記述します。メソッドとは、オブジェクトに関連付けられた関数です。プロパティの作成に非常に似たメソッドを作成しますが、単純な値を追加するのではなく、関数全体を名前に割り当てます。
たとえば、次のバージョンのクリッターにはchangeSpeed()メソッドがあります。ユーザーが上矢印を押すと、クリッターはスピードアップし、ユーザーが下矢印を押すと、クリッターは減速して(そして最終的には他の方向に)移動します。新しいメソッドを備えたクリッターのコードは次のとおりです:
<! - 1 - >critterChangeSpeed。 htmlのvarのゲーム;ヴァル・クリッター;関数Critter(){tCritter = new Sprite(ゲーム、 "動物、gif"、30、30); tCritter。速度= 0; tCritter。 checkKeys = function(){ if(keysDown [K_RIGHT]){ これです。スピード++; } if(keysDown [K_LEFT]){ これです。速度 -; } tCritter。 setSpeed(これはスピード)。 } //終了メソッド return tCritter;}関数init(){game = new Scene();クリッター=新しいクリッター();ゲーム。 start();} function update(){ゲーム。 clear(); checkKeys(); update();}
ユーザーがキーを押すと移動することに注意してください。この例やほとんどの例では、静的な画像では何が起こっているのかを見るのに役立ちません。
<! - 2 - >この新しいバージョンのプログラムでは、Critterオブジェクトに新しい動作が識別されています。本質的に、メソッドは、クラス内で定義された関数だけではありません。慌てないでください。理解するのはそれほど難しいことではありません。ユーザーがCritterオブジェクトに速度を変更するよう依頼した場合、システムに何をすべきかを伝えています。
-
checkKeysという新しいプロパティを作成します。
JavaScriptでは、プロパティとメソッドはまったく同じものです。通常の変数をオブジェクトにアタッチする場合は、それがプロパティです。あなたがそれに関数を付けるならば、それはメソッドです。 (プロパティ名は通常名詞であり、メソッド名は通常動詞または動詞句です。)
<! - 3 - > -
ビヘイビアを含む新しいメソッドを作成します。
changeSpeedは通常のプロパティではなく、メソッドであるため、関数にアタッチします。 (コンピュータサイエンス専攻のために、このように匿名関数を作成するのは、 lambda 関数の例です。中期試験でそれを見てください!)
-
キーボード入力を確認します。
クリッターオブジェクトを作成すると、既に独自のキープレスの検索方法がわかります。
-
キーボード入力に基づいて速度を変更します。
ユーザーが右を押すと、速度を上げます(デフォルトの方向では、正の速度でスプライトを右に移動します)。ユーザーが左を押した場合、速度を下げます。
-
setSpeed()メソッドを使用して実際の速度を変更します。
クリッターの青写真を提供するSpriteオブジェクトにはすでにsetSpeed()メソッドがあります。オブジェクトを指定された速度で移動させるには、このメソッドを使用します。
-
メソッド内でthisキーワードを使用します。
コンストラクタ内でメソッドを作成すると、コンピュータは物の名前について少し混乱することがあります。ほとんどの場合、tCritterという一時的なクリッターに物を追加しています。混乱を避けるために、変更しているオブジェクトの他のプロパティまたはメソッドを参照する必要がある場合は、オブジェクトの実際の名前ではなく、generalキーワードthisを使用します。
-
キーボードをチェックするようにupdate()関数を変更します。
メインのupdate()関数はフレームごとに1回発生します。フレームごとに1回発生させたいものは、update()で呼び出す必要があります。クリッターへの呼び出しを追加します。 checkKeys()。これは、フレームごとにキーボードをチェックし、必要に応じてスピードを変えるように、クリッターに思い出させるでしょう。
