今季初のゲームをリリースいたしました。
Kazuma.です。
まだSNS等には公開していないのですが、ゲームのリリースを行いました。
Unity製です、はい。
Fly Away!!
ゲームのタイトルです。あまりネーミングセンスがないんですよね笑
なのでとりあえずどっか飛んでけーって感じでつけました。
どんなゲームか?
結構単純な2Dゲームですが、今回はやりこみ要素を追加し、アイテム機能をつけました。
あとはもろもろ初めてやったこともありましたが。実際ゲームをやるひとにとってはシステムは関係ないので!
一番はYoutubeに動画をアップしてあるのでそれを見てもらうのがいいですが。
技術的な話
今回はUnity2Dを使ったわけですが、ゲームシーンは1個で、主にCanvasを表示、非表示でやりくりしています。
コレぐらいだとシーン分けするのも結構面倒なので。。。
データのセーブにはPlayerPrefsを利用しています。
ほぼほぼSetIntぐらいかな。
PlayerPrefsではboolは保存できないのでIntの0 or 1で表現することにしました。
DBを使おうかなと思ったのですがあまり時間も掛けたくなかったので、手軽なセーブ方法を利用しました。
アイテム管理
今回初挑戦したアイテム管理ですが、コレまたPlayerPrefs。笑
アイテム情報はClassを作って、それをListのGenericで指定して、ゲームが起動されるときにAddしている形になります。
using UnityEngine; using System.Collections; using UnityEngine.UI; [System.Serializable] public class Item { // -------------------- 要素 public string ItemName; public int ItemID; public Sprite ItemIcon; public float ItemPower; public AudioClip ItemSound; public int ItemPrice; // -------------------- public Item(string name, int id, Sprite icon, float power, AudioClip sound, int price){ this.ItemName = name; this.ItemID = id; this.ItemIcon = icon; this.ItemPower= bound; this.ItemSound= audio; this.ItemPrice = price; } }
結構乱雑に書かれていますがItemのクラスはこんな感じです。
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; public Class ItemManager : MonoDevelop { public List<Item> item = new List<Item> (); ------ 省略------ public void Start() { item.Add (new Item ("sword", 0, swordIcon, 1f, swordSound, 100)); } }
このような感じでStart関数でAddしています。Awake関数で呼び出してもいいですね。
ホントはデータベースにアイテム情報を入れるのがいいかと思いますが。