TPSゲームを作っています。
アサルトライフルとショットガンを用意しました。
ショットガンが顕著でわかりやすいんですが、左クリック(射撃ボタン)を連打すると設定した発射レートよりはるかに早く撃ててしまいます。
発射リコイルのモンタージュが終了するまで、左クリックを受け付けなくする方法はありますか?
よろしくお願いします。
DoOnceノードを使いましょう
一度通過すると、Resetピンが実行されるまで処理が流れなくなります
モンタージュ終了時にResetピンに流れるようにしておけば良いでしょう
回答ありがとうございます。
申し訳ないんですが、”モンタージュ終了時にResetピンに流れるようにしておけば良いでしょう”についてもう少し詳細に説明して貰っていいですか?
モンタージュ再生終了時に、AnimBPの OnMontageEnded
イベントがコールされますので、それを拾ってDoOnceのResetピンを実行するようにすればOKです
添付画像はPlayMontageノードを使用して簡易に組んでありますが、EventDispatcherを使用して組むパターンでも良いでしょう
参考までにEventDispatcherを使用したバージョンも添付しておきます
これも簡易版です
ここまでしていただいて、ありがとうございます!
https://www.youtube.com/channel/UCywq8K4lHODj3JYzqspKHIw/videos
情報が後出しになって申し訳ありません。今この人の動画をなぞって作業しています。
頂いたSS等を参考にいろいろ試していたのですが、1クリックで止まらなくなったり、逆に一回以降受け付けなくなったり。最終的にここで止まってしまいました。何か解決策はあるでしょうか・・・
DoOnceノードは一度通るとゲートが閉じますので、Resetしないと次の処理が通らなくなります
Timerを使うのも良いですが、Timerで実行される関数内にも停止条件を持っておいたほうが安全です
まずは落ち着いて処理をなぞることを意識してください
各ノードの使い方はドキュメントに書いてありますので、どういう動きなのかわからない場合は検索してみると良いでしょう