バトル終了後の探索シーン処理作成
作業内容
・バトルから逃げたプレイヤーが探索シーンで点滅
・バトルから探索シーンに戻った際、プレイヤー、仲間、敵がバトルシーンに遷移する直前の位置にいるようになる
・バトルで倒された敵は、探索シーンに戻った際に倒れるモーションとともに指定されたアイテム(コイン)を落とす
・一度倒した敵は、今いる探索シーンから別の探索シーンに遷移するまで復活しない
・バトルから逃げたプレイヤーを点滅させて、無敵時間が視覚的にわかるようにした。
しかし、Anima2DのSpriteMeshだと、Tweenでα値が操作する方法が見つけられなかったため、SpriteMeshのアクティブ状態のtureとfalseを切り替えることで再現することにした。
・バトルから探索シーンに戻った際、プレイヤー、味方、敵がバトルシーンに遷移する直前の位置にいるようになる処理を作成。
バトルシーンに遷移する前に探索シーンですべての敵とプレイヤーと仲間の位置を変数に保持させてバトルシーンに渡し、バトル終了後にバトルシーンから探索シーンに位置情報を保持した変数を渡すことで実装した。
・バトルで倒された敵が探索シーンに戻ると、倒れてアイテムやコインを落とせるようにした。落とすものはインスペクターから決められるようにしてある。
また倒された敵はアイテムを落とした後に非アクティブ化している。
・一度倒した敵は別の探索シーンに移動しない限り復活しない処理を追加。
一度倒した敵をリストで保存し、シーンにいる敵の中でリストの敵と一致するものは非アクティブ化する処理を作成した。一度倒した敵のリストはプレイヤー達の座標情報と同じ方法で保持してある。
Unity練習のために始めたこのプロジェクトだったけど、終盤にくるにつれて最初に書いていたコードの汚さが目立って気になる。でも、当時のベストを尽くして書いたものなので仕方がないとも思う。
プログラミングを始めて一年半ほど経つけど、できることが自分なりに毎日増やせれてうれしい。それに、すごい先輩たちに出会えたことに感謝してもしきれない。
今年は大変な年で自信を無くすことも何度かあったけど、ゲーム作りのおかげでプログラミングが続けられていると強く思う。ゲームを作るきっかけになったphina.jsに人生を変えてもらえた。いい出会いがたくさんある良い年だった。
先輩方とphina.js開発者の皆様に心から感謝します。メリークリスマス。
就寝