2020年6月22日月曜日

2Dスクロールゲーム開発日記 #15



おはこんばんにちは!ゲームマスターのギルガメです!

前回はデスラインの作ったので、今回はそのデスラインを生かして中間地点のリスポーンを変更する仕様を追加します!

このままで鬼畜仕様でもいいかも。(グフフ

さっそくデザインを作ってみました。デザインは苦手でヘタでごめんなさい。

こんな感じで手前とバックを分けてつくりました。
プレイヤーが中を通るイメージができるのでおしゃれになります!

チェックポイント(中間地点)のスクリプトを作ってみました。
CheckpointController.cs


これを先ほどのデザインにセットして、コライダーにトリガーもチェックして、ちょっと適当にサウンドも設定して完成!!

どんな感じになったかな。

チェックポイントの中を通ってるように見えるからいい感じ!
リスポーン地点も最初からチェックポイントに変更してるので成功だ。

次はちょっとテレポートっぽいもの追加してみようかな。ロマンです。はい。テレポート使える時代こないかな。そんな夢みるギルガメです。

次回もよろしくね!

2Dスクロールゲーム開発日記 #14



おはこんばんにちは!ゲームマスターのギルガメです!

何を追加しようか迷ってはいたのですが、まだ崖から落ちたときに永遠に落ち続けるという悪夢がありました・・怖い・・。なので今回はデスラインを追加しようと思います。

プレイヤースクリプトを改修しました。こちらにプレイヤーが死んだときにGameControllerに設定してるリスポーン地点に移動するようにしました。またプレイヤーに操作を切り替えも追加しました。これは色んなところで使えそうなので、今回はデスしたときに1秒間移動できないようにしました。

改修後のプレイヤースクリプト

またGameControllerも改修しました。こちらにリスポーン地点の設定とあとから中間地点のリスポーン地点の変更のためのファンクションを追加しました。

改修後のGameControllerスクリプト

あとはデスライン用のスクリプトを作成します。
DeadController.cs

これで必要な準備は完了かな。
さっそくデスラインを作っていこう。

デスラインにコライダーにトリガーを設定して先ほどのDeadController.csを追加します。

GameControllerにリスポーン地点を設定してさっそくテストだ!

崖から落ちて、デスってもリスポーン地点に復活するようになりました!

次は中間地点を追加していきたいと思います。ある程度進んで、プレイヤーが死んだら、最初からは鬼畜するぎるから(以外をそれもいいかも)。そういうステージも作ってみようかな。

次回もよろしくね!チャオ!


2020年6月21日日曜日

2Dスクロールゲーム開発日記 #13


おはこんばんにちは!ゲームマスターのギルガメです!

前回はクリスタルを追加しました。ですがプレイヤーからはクリスタルの取得数がわからいのでUIにクリスタルを追加しています。

こんな感じにUIを作成しました。

今度はスクリプトでクリスタルを獲得するたびにUIのカウントを更新するように改修しました。

DataController.cs


これでクリスタルの数もプレイヤーが把握しやすくなりました!

取得すたびに更新されています!

クリスタルとUIの追加のバージョンはこちらです。

まだまだUIやシーンの変更時のアニメーションや敵の追加が足りない!
今度は何を追加しようかな・・

2Dスクロールゲーム開発日記 #12



おはこんばんにちは!ゲームマスターのギルガメです!

今度はゲーム内のお金になるクリスタルの追加をしていきます!

まずはゲーム内でクリスタルの獲得数の管理するスクリプトを作ります。またシーンが切り替えたりしたときに処理を軽くするために「DontDestroyOnLoad」を追加して、毎回生成を避けるようにします。

二つのスクリプトを用意します。
  • GameController
  • DataController
GameControllerは名前の通り、ゲーム内の管理を行うスクリプトになります。まだゲーム自体の要素が少ないので管理するものは少ないですが、今回は「DataController」を管理するようにします。ゲーム起動時に「DataController」の有り無しを確認し、あれば何もしない。無ければ新しく「DataController」を作成します。

GameController.cs

DataControllerはクリスタルの数を管理するスクリプトになります。またシーンが切り替わるたび、消えないように設定します。設定することで処理を軽くします。クリスタルを取得したときに数の管理スクリプトも作成します。
「DontDestroyOnLoad」に設定するこでシーン切り替え時、消えません。
これは本当に助かります!


DataController.cs

これでゲーム内の管理スクリプトが完成です!クリスタルを作っていこう!
デザインを作って・・試しに配置してみよう。

おお・・雰囲気でた!

いい感じ!今度はプレイヤーがクリスタルに触れたときにクリスタルが消える処理とサウンドを追加します。それから「DataController」にクリスタルの数を増やします。

Crystal.cs


クリスタルの獲得時の数とサウンドを設定できるようにしてみました。プレイヤーにAudioSourceを追加して、クリスタルに設定したサウンドを流すことで取得時の音を流すことができます!

DataControllerのクリスタルの数もサウンドもOK!

これでクリスタルをためることができる!アイテム購入やガチャも追加したい・・
これだけじゃプレイヤーからするとクリスタルがどのぐらい獲得しているかわからないので、画面にUIを追加していきたいと思います。

次回もよろしくね!

2020年6月20日土曜日

2Dスクロールゲーム開発日記 #11



おはこんばんにちは!ゲームマスターのギルガメです!

移動に欠かせないプラットフォームを追加していきます!

まず最初に動かないプラットフォームを作ります。すごくシンプルです!
デザインになるものを用意してください。今回もギルガメはシンプルなものを作りました。
それにコライダーを追加して、ここが大事です。コライダーだけじゃ下から上に貫通してプラットフォームに乗ることでできません。

仕様によっては、貫通してほしい人やしてほしくない人がいるのと思うのでこのままでも全然使えます!

上記のGifと用にプラットフォームのしたから上に貫通して乗ることができません。ですが、あるコンポーネントを追加するだけでそれを可能にします!

「Platform Effector 2D」をいうコンポーネントを追加して下さい。またコライダーに「Used by effector」にチェックが必要です。これだけです!すごくシンプルで使いやすい・・。

Platform Effector 2Dを追加するとこで完成!

これで固定のプラットフォームの完成です!

今度は移動するプラットフォームを追加します。これは絶対にかかせない・・マップの移動とかすごく使えると思います。

まずスタート地点と移動先が必要になります。スクリプトが下記になります。
Platform.cs

これをプラットフォームに追加して、スタート地点と移動先を設定して完成です。
テストしてみよう!

動いてる!乗れる!移動できた!

こちらは以下からバージョンを確認できます。
ぜひチェックしてみてください。

これは色んなとこで活用できそうだ!だんだん色んなものができてきた。
楽しいな・・もっともっとたくさん色んなものを追加していきたい!