某PCBゲームにある「素早くボタンを2回連打する」効果の処理方法について

初心者です。以下のようなアニメーション処理を行いたいのですが、上手くいかず困っています。

例:
①:〇ボタンを押している間、その方向に前進する。(Walkモーション)
②:〇ボタンを1回押して離してから0.5秒以内にもう一度〇ボタンを押すとその方向にステップする(ステップモーション)

といった風に、②の処理で一度押されたボタンの判定を取得し特定の時間内に再度同じボタンを押すことで別のアニメーションを呼び出したいのですが、やはりC++でしか実装は難しいでしょうか?
もしBPだけで組めるもっとも簡単な方法があれば教えていただきたいです。よろしくお願いします。

やはりC++でしか実装は難しいでしょうか? とのことですので回答します。

考えているそのままに実装すればよいです。
C++であろうとBPであろうとできることにそこまでの違いはありません。

一応回答を補足しておきますと、
まず質問者の言う 某PCBゲーム というものがどういったものなのか、こちらには一切伝わっておりません。
ですので、前提条件である どういった動きを実現したいのか が全くわかりません。

次に、 上手くいかず とありますが、どのようにうまくいかないのかがわかりません。
現在どのような実装をしているのかが分かれば、何に困っていて、どうすれば解決できるのかを探ることが出来ますが、それもわかりません。

より正確な回答が必要な場合は上記2点の問題を解決していただければと思います。