OpenAssetOrgのアセットで2Dゲームを作る(26) マウス押しっぱなしでの弾発射
「とりあえずUE4ぷちコン用のサプライズなネタも思いつかないことだし、とりあえず作ってたゲームの改良をしている」
妹「矢の量を増やしたの?」
「矢を増やしたというか、マウスクリックじゃなくて、マウスドラッグで発射するように変更した。押しっぱなしで、Tickのたびに新しい矢を発射する」
妹「矢撃つ時に、カチカチするのなんかめんどくさかったからね」
「元々こういう設計にしようと思ってたんだけど、やるのをすっかり忘れていた」
変更前
変更後
「こういう時にGateノードは便利。普通は切り替え用にBoolean変数作らないといけないし、その変数をどこで変更してるのかもわかりづらくなるんだけど、これなら1つのグラフ上に置けるから関係性がわかりやすい」
妹「でもこの仕組みだと、Tickの間隔が変わると矢の出方が変わるのでは?」
「固定フレームレートだからその心配はない。というか、こうしようと思ってたのもあって固定にした。もちろん設定値よりTickが遅くなる場合はあるんだけど、その場合敵の動きや出現も遅くなるから。矢も綺麗に揃った状態に見える」
妹「じゃあ固定じゃないフレームレートだとこの方法は使えないのか」
「出来なくはないと思うよ。ある程度のブレはあるものだと割り切っちゃえば。ただ綺麗に並んでるのが時々ズレるってのは違和感あるから、乱数で少しずつ弾の角度とか発射位置とか変えるとかしておけば、わりと自然になるはず」