開発日誌-Unityゲーム開発。第一号作品公開へ-
ライフゲージを取り付ける
何回か当たったら、ゲームオーバーって感じにしようと思い、diverクラスにlife変数を定義。敵キャラトリガーに衝突判定Trueになるたびにlife += -1; としてライフゲージを減らす。さらにこれをゲーム管理クラスから参照できるようにして、if (life < 1 )で、ゲームオーバーシーンに切り替えを行うというスクリプトを書いた。
変数を参照できるようにpublic,public staticを整理
この記事が参考になりました。 hiroyukitsuda.com "public"でグローバル変数として他のスクリプトからも読み込めるようになる。"public static"にすると、同一のメモリから数値を読み込む、書き込むことになるので、今回のライフゲージのように唯一にしておきたいパラメータの処理にはいいと思われる。
シーンで切り替えをつける
"スタートシーン"→クリック→"ゲームシーン"→ライフゲージ0→"ゲームオーバーシーン"(→クリック→"ゲームシーン"に戻る)
という流れにして、Unityコンソールでスタートシーンとゲームオーバーシーンと2つシーンを設置。
なお、このシーンの表示は、ゲームオブジェクトではなく、CanvasのImageから呼び出すように設定しているのが、ゲームシーンの背景とは違う点がポイント(かもしれない)
スタートシーン
ゲームオーバーシーン
それぞれ(スタートシーン、ゲームオーバーシーン)のカメラオブジェクトにC#スクリプトを設置してvoid Updateクラスにクリックがあるとシーン切り替えをするというメソッドを入れ込んでおく。
実装後はこんな感じ!
もうゲーム要素はすべてそろったかな〜
よっしゃ〜 スタート画面、5回当たったらゲームオーバーからのコンティニュー実装〜 次はBGMを挿入してみよう・・・ #Unity pic.twitter.com/V7xsQiulzP
— k-mawa (@k_mawa82) 2017年11月13日
ビルドする(WebGL)
ビルドをしてみようということになり、モバイルアプリ向けビルドが実用性高いけど、例えばiOSならデベロッパーライセンスが必要だったり手続きがこのテスト時点では面倒。早く動いている姿がみたいので、調べてみると、ブラウザゲームとしてアップするのが一番手軽そう・・・形式をWebGLというらしい。HTML5のcanvas要素に描写することのできる(違うものだけども)jsのような規格と考えるといいみたい。とりあえず、※シーンをスタートシーンから順にbuild settingsに登録していく(シーンをゲームシーンを最初に登録すると、ビルド後にスタートシーンから始まらなかったので再ビルドが必要になってしまい・・・orz)ボタンを2〜3回ポチポチやって待てばビルド完了。Unity凄すぎる・・・
この記事でちゃんとビルドできました!多謝。 blog.naichilab.com
アップする
Unityroomっていうところで無料で公開できるとのことだったので試してみた。
無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
WebGLは、ドロップボックスとかからURLを通して出力もできるようだ。まあ本体がHTMLに出力するものなら直観的にたしかにできそうだ・・・
無事アップできた
公開しました!^^ /Under The Sea(深海探検) | 無料ゲーム投稿サイト unityroom https://t.co/lITzSF6hNI
— k-mawa (@k_mawa82) 2017年11月13日
ちゃんと動く!(PCブラウザ)。なおモバイル専用ブラウザだと読み込めない場合があるのでPCブラウザ表示にするという設定にするとモバイルでもちゃんと読み込めます。
とりあえず、初ゲームのリリースが完了し、嬉しさと達成感でいっぱいです。つぎはどんなことにチャレンジしようかな・・・
参考にさせていただいている本
これらを参考書にして自分なりにコードや素材を書いて進めています!
10日で学ぶUnity 5 2Dゲーム入門 カジュアルゲーム制作で楽しく覚えよう!
- 作者: 株式会社フーモア Unity部
- 出版社/メーカー: エムディエヌコーポレーション(MdN)
- 発売日: 2016/11/15
- メディア: Kindle版
- この商品を含むブログを見る
Unity5 3D/2Dゲーム開発実践入門 作りながら覚えるスマートフォンゲーム開発
- 作者: 吉谷幹人
- 出版社/メーカー: ソシム
- 発売日: 2015/07/24
- メディア: 単行本
- この商品を含むブログ (2件) を見る