しんばりん日記

ue4を使ってのゲーム制作ブログです。間違いを指摘していただけると助かります!

攻撃してみる:魔法作成(9)

前回からの続きということで、とりあえず今回は魔法攻撃ボタンを連打するとアニメーションがおかしくなってしまうので、それを修正しようと思います。

 

その選択肢として少し考えたのが...

・アニメーション再生中に攻撃ボタン押下で魔法射出(アニメーション1巡)

・アニメーション再生中に攻撃ボタン押下しても何もしない(手を下すまで)

・攻撃アニメーション中、連打した場合攻撃アニメをループ(攻撃ボタン連打やめたら攻撃終了アニメ再生)

 

といろいろ列挙してみましたが、上記はあくまでむりやり直す場合でしたね。

そもそもどうして今回のバグが起きてしまったのかを調査しなければいけません。

というわけで調査をしてみたところ、どうやらアニメーションステートの遷移がうまくいっていなかったみたいですね。

f:id:sinvary:20190206005157p:plain

条件式では、Loopステート終了時、isMagicAttackがfalseの場合Endに遷移するようにしていましたが、

連打していた場合は遷移前にisMagicAttackがtrueとなってしまい、結果ずっと腕を上げている状態になっていたようでした。

 

これを直す場合ループ再生とするのがよさそうですね。

まぁせっかく名前がループですし。

あと、終了時のイベント発行を終了ギリギリで発行するのではなく、少し余裕をもって発行するように修正しました。

f:id:sinvary:20190206005548p:plain

 

これで連打した場合、無事に再生することができました!

しかも腕を下げている最中にボタンを押したらまた上げ始めるといううれしい誤算付きで!

アニメーションステータス的には正しい挙動なのですが、そこまで考えていなかったので少しうれしいですね。

 

今回は短いですがこれぐらいで。

次からは魔法の強化を始めます。散弾です。

エフェクトをつけ始めてもいいのですが...まぁそれはまだあとで...

といいうかもう2月なんですね...作り始めたのが1月二週目からとはいえ、全然進んでないなぁ...

散弾、ホーミングを実装したらビヘイビアツリー触り始めてもいいですかね。