プラットフォーム型ゲームの作成方法:プレイヤーアニメーション
このチュートリアルでは、プレーヤーの状態が変化しているときに、さまざまなアニメーションを追加する方法と、イベントを使用してアニメーションを変更する方法を説明します。
プラットフォーム型ゲームのチュートリアルを最初から読んでいない場合は、クリックして前のチュートリアルを読んで下さい。
アニメーションの追加
今の状態では、プレーヤーは常に同じスタンディングアニメーションを表示していますが、イベントを使用して変更します。
ただし、最初に適切なアニメーションをPlayerオブジェクトに追加する必要があります。
ジャンプするアニメーション
Playerオブジェクトのエディターを開き、プロパティータブ上にいることを確認してから、ウィンドウの下部にある「+」ボタンをクリックしてアニメーションを追加します。最後に、新しいアニメーションを追加する記号「+」が付いたサムネイルをクリックして、「p1_jump」を追加する画像として選択します。
アニメーションには名前を付けることができます。それらを区別し、イベントで使用する簡単な方法です。「オプションのアニメーション名」をクリックして、必要な名前を入力するだけです。
2つのアニメーションの名前として「停止」と「ジャンプ」を入力します。
走っているアニメーション
また、キャラクターがプラットフォームを歩いているときに表示する歩行アニメーションを追加する必要があります。画像を追加するとき、5枚の画像を選択し、前に行ったように、p1walk03.png、p1walk04.png...とp1_walk07.pngとして別のアニメーションを追加します。必要に応じて、すべての画像を一度に選択することも、1つずつ選択することもできます。最後に、アニメーションの名前を次の「ランニング」のように設定します。
これらの画像は、アニメーションを作成するために表示されます。オプションを少し調整する必要があります。まず、「ループしない」オプションをクリックして「ループ」に切り替えます。これにより、最後の指定した画像にに到達したときにアニメーションが最初から再開されます。タイマーは各画像間の時間を秒単位で表示しています。これはアニメーションの速度です。アニメーションがより速く再生されるように、1ではなく0.05を入力します。
これでオブジェクトの準備ができました。右下の「適用」をクリックします。
イベントを使用したアニメーションの変更
最初のイベント:ジャンプ時にアニメーション化
次に、プレーヤーが何をしているかに応じて、オブジェクトによって表示されるアニメーションを変更する必要があります。イベントを使用します。これらのイベントは、ゲームのルール、オブジェクトのアニメーション化、移動、プレイヤー入力への応答方法を記述するために使用されます。これは、非常に迅速に学習でき、すべての人がアクセスできる視覚的プログラミングの一種です。
「新しいシーン(イベント)」というタブをクリックして、シーンのイベントエディターを開きます。
現在は、イベントエディタには何もありません。
上部のツールバーのイベント追加ボタンをクリックして、最初のイベントを追加します。
イベントは、条件のリスト(たとえば、衝突が発生しているかどうか、キーが押されたかどうか、プレーヤーの寿命が短いかどうかなど)と、条件が満たされたときに発生するアクションのリストで構成されます。
今はイベントは空です。
この最初のイベントでは、プレーヤーがジャンプしているかどうかを確認し、それに応じてアニメーションを変更します。 最初にを「条件の追加」をクリックします。
新しいウィンドウで、ゲームを作成するために利用可能なすべての条件を確認できます。キャラクターの動作を持つPlayerオブジェクトがジャンプしているかどうかを確認します。 Platformビヘイビアというカテゴリを開き、「ジャンプ中」を選択します。
ウィンドウの右側には、条件を構成するために必要なパラメーターが表示されます。ここでは、「Player」オブジェクトがジャンプしているかどうかを確認するため、最初のパラメーターにPlayerを選択します(2番目のパラメーターは自動的に入力されます)。
条件の準備ができました!ウィンドウを閉じてイベントに追加された条件を確認するには、右下の「OK」をクリックします。
キャラクターがジャンプしているときにプレイヤーのアニメーションを変更するアクションを追加しましょう。 「条件の追加」をクリックします。
開いたウィンドウは似ていますが、利用可能なすべてのアクションが表示されます。
スプライトオブジェクトであるPlayerのアニメーションを変更します。「スプライト」カテゴリを開き、「アニメーション」を選択し、最後に「アニメーションの変更(名前)」を選択します。
Player最初のパラメーターのオブジェクトで「ジャンプ中」を 選択し、2番目のフィールドに書き込みます。注意してください、あなたはGDevelopアクションや条件のいずれかのテキストは、式を使用することができるように二重引用符を記述する必要があります。これがテキストであることをGDevelopを伝えるために、二重引用符を使用する必要があります。
完了したら、右下の[OK]をクリックします。最初のイベントの準備ができました!
結果を見てみましょう
ツールバーの[再生]ボタンをクリックして、プレビューを起動します。ジャンプすると、プレイヤーのアニメーションが変化するのがわかります!
ただし、プレーヤーが地面に戻ったとき、アニメーションが停止アニメーションに戻されていないことがわかります。これは、単にGDevelopにそうするように指示したことがないためです!これを修正するために別のイベントを追加しましょう。
停止と走行中のアニメーション
新しい空のイベントを追加しましょう。[条件の追加]をクリックし、今回はPlatformerビヘイビアの動作カテゴリ内で[床の上にいる]条件を選択します。上部の検索ボックスを使用して、名前がわかっている場合に条件をすばやく見つけることができます。
Playerオブジェクトを選択して、最初のパラメーターを入力します。
[OK]をクリックして、条件を確認します。
ここで、停止やジャンプ中だけでなく、走行中のアニメーションもキャラクターに表示させる良い機会です。
各イベントに2つの条件とアクションを持つ2つのイベントを追加できます。
* プレーヤーが地面にいて、*さらに*走っていないときは、停止アニメーションを表示する必要があります。
* プレイヤーが地面にいて、*さらに*動いているときは、走行中アニメーションを表示する必要があります
代わりに、サブイベントを使用して、プレーヤーが一度地面にいる場合にのみ条件をチェックすることができます。
「条件の追加」またはの 近くの空の領域をクリックして、作成したイベントを選択します。
次に、ボタンを2回クリックして、サブイベントを追加します。
2つの「子」イベントが、現在親イベントと見なされているイベントの下に追加されます。イベントの左側にいくつかの空白が追加され、それらが接続されていることを視覚的に確認するために、線で接続されているのが確認できます。
これらのイベント内に条件を追加できるようになりました!最初に、プレーヤーが動いているされているかどうかを確認する条件を追加します。
2番目の場合は、同じ条件を追加し「条件の反転」のトグルを確認します。これにより、Playerオブジェクトが移動していないときにイベントのアクションが起動されます。
これまでのイベントは次のとおりです。
ほぼ完了です。各イベントに必要なアクションを追加して終了しましょう。最初のイベントを使用してキャラクターの走行中のアニメーションを設定します。2番目のイベントを使用してキャラクターの停止のアニメーションを設定します。
これらのアクションは、ジャンプ中アニメーションの場合と同じ方法で追加できます。アニメーション名を入力するときは、引用符(" ")を忘れないでください。
プレビュー(および保存)する時です
ゲームのプレビューを起動して、走行中およびジャンプ中にプレイヤーのアニメーションが変化していることを確認できます!
私たちができる小さな改善は、プレイヤーが落下しているときにアニメーションをジャンプに設定することです(そうでなければ、プレイヤーが画面の端に到達すると、走行中のアニメーションが再生を続けるようにします)。
次のステップ: カメラがプレーヤーを追いかけるようにします
現時点では、プレイヤーが画面外まですばやく歩くことができるため、探すための大きなステージを構築するのは困難です!チュートリアルの次の部分では、カメラをプレーヤーに追従させる方法を示します。それは本当に簡単です、一つのイベントで十分でしょう!