『CorgiEngine』でゲームを作ってみて把握したTips

「CorgiEngine」特有の機能のTips。
実際にゲームを作成して直面した、問題の解決法を書き足して行きます。

以下、「ヒップドロップした同色のブロックが跳ねてダメージを与えるシステム」を実装したカスタムゲームの動画。

ダッシュボタンを押したら、ヒップドロップするように改変

*(ヒップドロップ == CharacterDive)

デフォルト設定では、ヒップドロップの出し方が「ジャンプ中に、ジョイスティックを下に入れつつダッシュ」と、中々出し難い。
ヒップドロップを多用するゲームシステムに改変する為に、ダッシュボタンに動作を割り当てた。

ダッシュボタンを押した時にダッシュするのを防ぐ

CharacterDiveは、CharacterDashを使用しているので、単純にCharacterDashを削除するだけでは上手く行かない。

  1. 適当にCharacterDashを継承したクラスを作って、プレイヤーにアタッチされたCharacterDashと差し替える。
  2. 以下のように、「InputManagerの状態を読み取ってダッシュを発生させるメソッド」を空に上書きする。

これでダッシュの機能を残しつつ、ダッシュボタンからのインプットを遮断出来る。


//一応、名前空間も設定。どちらでも良い。
namespace MoreMountains.CorgiEngine
{	
	public class CharacterDashCustom : CharacterDash
	{
		protected override void HandleInput ()
		{

		}
	}
}

ダッシュボタンを押した時にヒップドロップさせる

  1. 適当にCharacterDiveを継承したクラスを作って、プレイヤーにアタッチされたCharacterDiveと差し替える。
  2. 以下のように「ダッシュボタンを押した時」に発動条件を変更。


//一応、名前空間も設定。
namespace MoreMountains.CorgiEngine
{

	public class CharacterDiveCustom : CharacterDive
	{
        	protected override void HandleInput()
		{
			if (_inputManager.DashButton.State.CurrentState == MMInput.ButtonStates.ButtonDown)
			{
				InitiateDive();
			}
		}
	}
}

タイトルとURLをコピーしました