0

キーの押下と組み合わせを検出する格闘ゲームを開発しようとしています。

しかし、物事は私が思っていたよりも複雑です。主なポイントは次のとおりです。

1) ユーザーが A をすばやく 2 回押すと、ロールが実行されます。

2) ユーザーが A + L + D などのキーを押すと、役割がキャストされます。

3)役割のキャストが終わったら、矢印キーを押すと役割が左または右に移動し、そうでない場合は待機します。

4)役割がジャンプしている場合、移動することはできませんが (つまり、左右の矢印キーの押下は無視されます)、攻撃することはできます。

5) 短い間隔時間および/または順序を必要とするキーの組み合わせ。

等々...

いくつかの方法を考えましたが、問題を完全に解決することはできません。

物事は完全にまとまります。

このような問題を処理するための優れたアルゴリズムや方法を誰かに教えてもらえますか?

4

1 に答える 1

0

組み合わせ状態を表現および構築するには、有限ステート マシンが必要です。入力/キープレス システムまたは関連するレイヤーは、次のような機能をサポートする必要があります。

  • バッファリングされた入力 (したがって、入力イベントはキューに入れられ、このフレームをすぐにサンプリングするだけではありません。特に、欠落した入力のコストが非常に顕著である格闘ゲームでは重要です)
  • 複数回押しのカウント
  • 最後に押してからのタイミング (同じキーのグローバルおよびローカル) と、押したままのタイミング。
  • おそらく、最後のn重要なアクションの信頼できるバッファを維持します。

あなたの有限状態マシンは、コンボの連続ごとに中間状態を持ち、間違った入力が状態をキャンセルしてリセットします。多くの FSM 状態変更条件は、タイマーと入力の組み合わせに基づいています。ただし、FSM は、入力だけでなく、アニメーションや状態/動きの追跡全般に大きく役立ちます。

于 2012-08-10T03:08:50.910 に答える