While loop とフリーズについて

銃をマウスの左キーを押している間撃てるようにしたいと思いアクションインプットで左クリックを追加しそこから射撃中かどうかの変数を設定しwhile loopでplay anim montageを繋げました。左クリックがリリースされた時は射撃中か動画の変数をfalseにするようにしています。この状態で動かしてみると射撃しようとするとフリーズしてしまいます。何が原因でしょうか。また他にplayanim montageを連続して再生する方法がありましたらお教えください。よろしくお願いします。

WhileLoopが原因です

WhileLoopの場合、同一フレーム内でループになるため、外から条件設定をしようとしても、そのフレームが無限ループにより永遠に終わらないため抜け出せなくなります
WhileLoopの条件変更はLoop内でやるのが基本です

似たような動作をさせたいならDelayによるループを実装してください

2 Likes

解説ありがとうございます!