# 銃の手動連射の止め方

**URL:** <https://forums.unrealengine.com/t/topic/449804>\
**Category:** Character & Animation\
**Tags:** tps, unreal-engine, UE4, Blueprint, question\
**Created:** [May 29, 2019, 5:19pm UTC](https://forums.unrealengine.com/t/topic/449804 "2019-05-29T17:19:12Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![KAGURA43](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KAGURA43](https://forums.unrealengine.com/u/KAGURA43)\
**Post date:** [May 29, 2019, 5:19pm UTC](https://forums.unrealengine.com/t/topic/449804/1 "2019-05-29T17:19:12Z")

</div>

TPSゲームを作っています。  
  
アサルトライフルとショットガンを用意しました。  
  
ショットガンが顕著でわかりやすいんですが、左クリック(射撃ボタン)を連打すると設定した発射レートよりはるかに早く撃ててしまいます。  
  
発射リコイルのモンタージュが終了するまで、左クリックを受け付けなくする方法はありますか？  
  
よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![T\_Sumisaki](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@T\_Sumisaki](https://forums.unrealengine.com/u/T_Sumisaki)\
**Post date:** [May 29, 2019, 5:26pm UTC](https://forums.unrealengine.com/t/topic/449804/2 "2019-05-29T17:26:26Z")

</div>

DoOnceノードを使いましょう  
一度通過すると、Resetピンが実行されるまで処理が流れなくなります

モンタージュ終了時にResetピンに流れるようにしておけば良いでしょう

![278327-2019-05-30-02h23-58.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/3/0/230b9716f867cb70043fb5cb4c954d77fca52f24.png)

---

<div class="post-metadata">

**Author:** ![KAGURA43](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KAGURA43](https://forums.unrealengine.com/u/KAGURA43)\
**Post date:** [May 30, 2019, 2:08pm UTC](https://forums.unrealengine.com/t/topic/449804/3 "2019-05-30T14:08:13Z")

</div>

回答ありがとうございます。  
  
申し訳ないんですが、”モンタージュ終了時にResetピンに流れるようにしておけば良いでしょう”についてもう少し詳細に説明して貰っていいですか？

---

<div class="post-metadata">

**Author:** ![T\_Sumisaki](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@T\_Sumisaki](https://forums.unrealengine.com/u/T_Sumisaki)\
**Post date:** [May 31, 2019, 1:51am UTC](https://forums.unrealengine.com/t/topic/449804/4 "2019-05-31T01:51:58Z")

</div>

モンタージュ再生終了時に、AnimBPの `OnMontageEnded` イベントがコールされますので、それを拾ってDoOnceのResetピンを実行するようにすればOKです

添付画像はPlayMontageノードを使用して簡易に組んでありますが、EventDispatcherを使用して組むパターンでも良いでしょう

 ![278472-2019-05-31-10h48-35.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/c/b/9/cb9740d440d48044e054bd6297b2fcfa111ef5d5.png)

参考までにEventDispatcherを使用したバージョンも添付しておきます  
これも簡易版です

 ![278473-2019-05-31-10h42-22.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/9/6/d/96d05343edbe1a5c1d4218bdd0a8f5e6de1901d3.png)

---

<div class="post-metadata">

**Author:** ![KAGURA43](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@KAGURA43](https://forums.unrealengine.com/u/KAGURA43)\
**Post date:** [May 31, 2019, 10:52am UTC](https://forums.unrealengine.com/t/topic/449804/5 "2019-05-31T10:52:08Z")

</div>

ここまでしていただいて、ありがとうございます！  
  
[https://www.youtube.com/channel/UCywq8K4lHODj3JYzqspKHIw/videos](https://www.youtube.com/channel/UCywq8K4lHODj3JYzqspKHIw/videos)   
  
情報が後出しになって申し訳ありません。今この人の動画をなぞって作業しています。  
  
頂いたSS等を参考にいろいろ試していたのですが、1クリックで止まらなくなったり、逆に一回以降受け付けなくなったり。最終的にここで止まってしまいました。何か解決策はあるでしょうか・・・

 ![278505-スクリーンショット-19.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/9/1/7915bb9a915ce2d4770375fe47b1ceb9d143296c.png)

---

<div class="post-metadata">

**Author:** ![T\_Sumisaki](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@T\_Sumisaki](https://forums.unrealengine.com/u/T_Sumisaki)\
**Post date:** [May 31, 2019, 11:25am UTC](https://forums.unrealengine.com/t/topic/449804/6 "2019-05-31T11:25:40Z")

</div>

DoOnceノードは一度通るとゲートが閉じますので、Resetしないと次の処理が通らなくなります  
Timerを使うのも良いですが、Timerで実行される関数内にも停止条件を持っておいたほうが安全です

まずは落ち着いて処理をなぞることを意識してください  
各ノードの使い方はドキュメントに書いてありますので、どういう動きなのかわからない場合は検索してみると良いでしょう
