問題点
・SetTimerノードで0.7秒後に銃弾(マウス左ボタンを押すと出る)となるアクターを消すという動きにしたが、このマウス左ボタンを連打し、銃弾をいっぱい出すとアクターが消えなくなってしまう。
しかし、連打せず、1秒くらいの間隔でクリックする分には正常な動き(アクターが0.7秒後に消える)になります。
初心者です。基礎が抜けているかもしれませんが、ご教示お願いいたします。
▼CharacterBP
▼銃弾のBP
問題点
・SetTimerノードで0.7秒後に銃弾(マウス左ボタンを押すと出る)となるアクターを消すという動きにしたが、このマウス左ボタンを連打し、銃弾をいっぱい出すとアクターが消えなくなってしまう。
しかし、連打せず、1秒くらいの間隔でクリックする分には正常な動き(アクターが0.7秒後に消える)になります。
初心者です。基礎が抜けているかもしれませんが、ご教示お願いいたします。
▼CharacterBP
▼銃弾のBP
ノードのReturnValueは、そのノードが実行されたときに更新されます
DestroyActorが実行される前にSpawnActorが行われると、ReturnValueは最後のSpawnActorの参照に置き換わるため、それ以外が削除できなくなります
銃弾を一定時間で消したいなら、銃弾自身がDestroyするようにするとよいでしょう
BeginPlayでDelayを挟んでDestroyActorを実行するか、Actorの設定でLifeTimeを設定するとよいです
なお、こういったトラブルが起きやすいため、1つのイベントライン(白線の流れ)から別のイベントラインへ参照を直接引っ張るのはやめたほうが良いです
(post deleted by author)
回答ありがとうございます!
銃弾のBPのBeginPlayでDelayを挟んでDestroyActorを実行することにより思い通りの動きになりました!
ありがとうございました!!