弾をマウス左ボタンで押し続けて連射する機能の実装方法

alt text現在UE4でフライトシューティングゲームの製作をしています。弾の発射の実装までは成功したのですが、マウスの左ボタンを押し続けて連射できるようにしたいのですが、いくら調べてもその方法が分かりません。現在のブループリントは下のような感じです。現在のブループリントに改造を加えて行けばいいのか、最初から実装をやりなおさなければいけないのか教えて欲しいです。alt text

TwinStickShooterTemplateを参考にすることをおすすめします
素直に実装するのであれば、ボタンイベントはフラグ管理のみを行い、Tickで判定するのが定番でしょう

が、Templateの場合は少々複雑な部分がありますので、簡易な方法も回答しておきます


下記はTimerを使用した実装です
ボタンを押したときにLooping設定のTimerを開始し、離したときにTimerを停止することで連射を実現しています
ただしTimerを開始するだけではクリックしたときに初弾が出ませんので、対策をしておく必要があります
Timerとは別にFireイベントを実行しているのは上記への対策によるものです

ありがとうございます!頑張って試してみます

FreeEventHandlerで使っている変数の型も教えて頂けると幸いです

FreeEventHandlerで使っている変数の型も教えて頂けると幸いです

上記で使用している変数の型は「Timer Handle」型だと思われます

299340-ss1.png

また、変数は「マイブルーブリント(画面左のリスト)」の+マークからだけでなく、
引数や戻り値を引っ張って離したときにでる『Promote to Variable(変数へ昇格)』からも作成することが可能です

299342-ss2.png


このあたりについてはUE4開発をする上で便利な機能になってきますし、基礎知識になってきますので、一読することをおすすめします。

どうもありがとうございます!早速見てみます