アンリアルエンジン4で2Dプラットフォーマーを作成します。パート1.5-ジャンプ



本格的な「パート2」は戦闘システムに専念しますが、これまでのところ望ましい状態には至っていませんが、2週間は何も書きたくありませんでしたので、今のところキャラクターの能力を少し拡張します。



前回の記事では、キャラクターとシンプルなシーンを準備し、水平方向の動きを学んだので、飛べない場合は少なくともジャンプを学ぼうとしました!













プロジェクトの小さな変更:
  • 新しいストーリーボードを見つけて、アルカードのすべてのスプライトを再編集しましたが、今では予想通り、彼は赤になっています
  • ジャンプを練習するための床のテクスチャで作られた小さなプラットフォームを追加しました。
  • 大気の背景画像を追加しました:)












まず、アニメーションを準備する必要があります。 これを行う方法はパート1で説明されていますが、便宜上、ジャンプを2つの条件付き部分(ジャンプとフォール)に分割することを好みます。 空中の最上部まで、最初のアニメーションを再生し、2番目のアニメーションを再生します。 落下アニメーションは、実際には、崖やその他の障害物の端から落ちる場合にも使用できます。 Flipboocksを準備します。個々のフレームの表示の再生速度と持続時間は個別に選択されることに注意してください。











次に、実際にジャンプの練習に進みます。 キャラクターの設計図に移動し、ジャンプイベントハンドラーInputActionJumpを追加します。 これは単純なキーストロークハンドラであり、押された状態と離された状態の2つの状態があります。 原則として、キーストロークにジャンプ機能を直接追加できますが、機能しますが、うまくやろうとしているのでしょうか? 前回、アニメーションを変更するシステムの作成を開始したとき、それは簡単に拡張でき、非常に柔軟であるため、それを使用します。

アニメーションを切り替えるには、キーが押されたことを知る必要があるため、入力にブール変数を追加し、それを真実の状態に変換します。 したがって、キーストロークを追跡します。その後、変数のジャンプとゼロ化(遅延)があります。結局、アニメーションには時間がかかります。

キーをリリースするには、別のブール変数を追加します-後で必要になります。 その結果、簡単なアルゴリズムが得られます。

ジャンプ








アニメーションシステムの拡張。 新しい機会がありますので、アニメーションの選択にブランチを追加しましょう:キャラクターがジャンプできるかどうかをチェックします(組み込み機能、Epic Gamesのおかげです)、ジャンプできる場合-地面の後ろに、既存のブランチに移動します-そうでない場合-空気とアニメーションには他のものが必要です。

ジャンプアニメーション変更ブランチ




ここでのロジックは単純です。ジャンプできない場合は、どの理由でジャンプするか落ちるかを判断する必要があります。 最初のケースでは、ジャンプ/フォールを連続して失い、2番目のケースでは、フォールのみを失います。



テスト:









パート1-ゲームキャラクター、動き



All Articles