3.地形で変化する足音処理の作り方地形での処理について

地形で変化する足音処理

地形による足音の変化はできましたが、これだけではまだ問題があります。 足場となるオブジェクトに乗った場合です。 これらのオブジェクトに乗った場合も足音が変化しないと違和感が出てしまいます。

タイルと違ってオブジェクトにはエリアIDを設定することができません。 SE判定IDタイルに触れていない状態では、足音オブジェクトのエリア判定変数には-1が代入されます。 つまり、-1という足音IDは存在しないため足音が鳴ることはありません。 共通変数に足音ID変数を設定している理由はここにあります。 足場オブジェクトに乗っている場合でも足音IDを保持する必要があるからです。

足音IDを定義する

オブジェクトに乗った場合の足音IDを定義するアクションを準備します。 このアクションへのリンク条件は上からプレイヤーが乗った時になるようにします。 Shooting Chicken ではプレイヤーの壁判定が足場オブジェクトの壁判定の上に接触した状態にしています。 これでオブジェクトに乗った際の基礎処理ができました。

足音ID判定スルー

実行アクションの部分では、足音ID変数にオブジェクトの材質に合った足音のIDを代入させます。 しかし、このままでは足音オブジェクトのエリア判定が有効になってしまい、足音が鳴りません。

そこで、更に足音ID判定スルーというスイッチを設定しています。 これはタイルからのSE判定IDを無効化する役割を持っています。

足音オブジェクト側では足音ID判定スルーというスイッチがONになると足音ID無しというアクションへ切り替わるようになり、 共通変数の足音ID変数にタイルのSE判定IDが代入されないようになります。 これで、足場オブジェクトが定義した足音IDが有効になります。