【Unity2D】ダメージによる点滅表現処理を作る
ライフの増減の仕組みができたので今度はダメージを受けたときの処理を作りましょう。2Dのダメージ表現の定番といえば高速点滅ですね。作っているうちになんで2Dゲームのダメージは点滅表現なんだ?ってしょうもない疑問を抱くようになりつつも実装しました。
【Unity2D】ライフ増減の仕組みを作る
今回はライフシステムを作っていきます。処理としては内部で数値を変更してその数値をHUDに反映させる感じですね。Life_Managerを作り、それぞれのライフオブジェクトのスプライトを変更するように命令しましょう。
【Unity2D】モンスターせん滅トリガーを作る
前々回あたりにモンスターを討伐したら宝箱が出る仕組みを作って小さなカギの扉を開く仕組みを作ろうとしてたのですが、気づいたら宝箱を開けて鍵をとる仕組みだけ作っててモンスターせん滅フラグを完全に忘れてまし。今回はその補填と南に行くための扉を開くトリガーも作りましょう。
【Unity2D】順番に踏むと扉が開く床スイッチの作り方
通常サイズだと端っこに触れただけで踏んだことになりますので、少しユーザビリティが低下してしまう気がします。こういう細かいところをしっかりしていないと見た目との乖離が生じてクソゲーになってしまいます。まずは1個踏んだら開く扉を作ります。
【Unity2D】エリア内のモンスターを全て倒すと開く扉の作り方
モンスターの管理ができるようになったので、今度はエリア内のモンスターをせん滅をトリガーにした仕掛けを作ってみましょう。今回は宝箱を出現させて鍵を取得して扉を開けて進む部屋にしていきたいと思います。
【Unity2D】エリアに入ったときだけモンスターを動くようにする
最初のエリアから上へいき、次に右のエリアにいくと数匹のゴブリンがいるようにします。モンスターの仕掛けといえばシンプルなところでエリア内のすべての敵を倒せというやつですね。今回は手始めにエリア内に入ったらモンスターが稼働するようにしましょう。
【Unity2D】ドアの実装と仕掛けによる開錠
無事にオブジェクト移動による仕掛けの動作が完成したので、それをトリガーとして扉を開く仕組みを作ります。現状オブジェクトが保持する正解位置に行くと「正解」と表示していたのでそこをトリガーにしてみましょう。
【Unity2D】エリア移動で仕掛けをリセットする
オブジェクトを押して指定位置に行ったら仕掛けが作動する仕組みを作りました。エリア移動したら仕組みをもとに戻さないと間違えて動かしたときに取り返しがつかなくなってしまいますのでユーザビリティ向上のためにはエリア移動によるリセットをしてあげる必要があります。トリガーとしてはエリアスクロールが完了した後が好ましいですね。
【Unity2D】押すオブジェクトの仕掛けを作る
初期エリアの基本的な仕組みが完成(宝箱イベントは後回し)したので次に進みます。押す引く処理はすでに作っているのですが、このままだと無限に動かせてしまうので制限が必要です。2Dゼルダの伝説の場合、基本的にオブジェクトは押すのみなんですよね。引っ張るのはレバーありのものだったと思います。
【Unity2D】岩を壊す仕組み作り初期エリアを完成させる
ハンマー取得イベントが完了したので、今度はハンマーを使った仕組み作りをします。最初のエリアの仕掛けである岩を壊して次へ進むというチュートリアルを実装するために、武器の判定が衝突したら岩を消滅させてみましょう。