スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【Unity】ScriptableObjectを使ってて、詰まったこと

Unityで使える"ScriptableObject"って知ってますか?
簡単に説明すると、Unityでデータを共有することができるクラスです。

例えば、ゲーム内の店舗別のアイテム格納とか、キャラクターの基礎ステータスをもたせたりなんて時に使います。

具体的に実装すると、
---ItemShopData.cs
[System.Serializable]
public class ItemShopData : ScriptableObject {
[SerializeField]
public List ItemList;
}

[Serializable]
public class Item {
public int id;
public string itemName;
public int price;
}


こんな感じでしょうか。
あとは、Inspector上でデータを入れて上げて、Resourcesフォルダにでも入れておけば、誰でも触れるデータベースになりますね。

さて、ここで私が陥ったミスです。
ファイル名をItemShopData.csではなく、Item.csとしてました...
この結果、タイトルシーンでは作成したデータベースをなぜか触れて、他のシーンではnullになってしまってました。
また、Inspector上で
The associated script can not be loaded. Please fix any compile errors and assign a valid script.
って出てました。

調べても、なかなか解決できなくて、ふとスクリプトを見なしたら、名前が...ってなったので、一応記事に残しておこうと思いました。

皆さんも気を付けましょう(笑) ←
スポンサーサイト

【Unity】ゲームができた&セーブデータについて【漢字探し】

寒くなって、風邪を引いている人をよく見かけるようになりましたね。
そんなのどうでもいいよ。

はい、今回の進捗です。
ゲームが完成しましたー。
まずはタイトル画面、どーん。

2015_10_17_01


はい、スマホアプリとして作成した『漢字探し』です。
操作方法はいたってシンプル。
まずは遊びたい「漢字」を選びましょう。

2015_10_17_02


そうですね、まだ遊べる漢字が少ないですね。
ここは、今後考えて増やさないとねー。

次は、遊んでいる画面です。

2015_10_17_03


「犬」で遊んでいるので、「犬」の中に紛れた「大」を探してみましょう。
見つかりましたか?
見つけたら、そのパネルをタッチしましょう。
画面が切り替わるので、どんどん間違いを探していきましょう。
右上のタイムが0になるまで、遊び放題です、やったね。
左上のスコアをどんどん増やして、ハイスコアを目指しましょう。

最後に、スコア画面です。

2015_10_17_04


タイトルに戻るか、同じ「漢字」で遊ぶか、他の「漢字」で遊ぶかを選べますね。
どんどん、遊んでいきましょう。

制作期間は、10月2日から10月16日でした〜。
まぁ、シンプルなゲームなので、そんなもんでしょう。


ここで、一つ問題点が...
ゲームデータを更新する場合(中のデータだけ)、どんな手段で更新したらいいのでしょうか?
本来なら、ゲーム用のサーバーか何かを立てて、ゲーム起動時にそのサーバーにアクセスして、更新の有無を確認するのですかね?
そういうのって、OneDriveとかDropBoxとかで代用できたりするのかなぁ?
まぁ、とにかく、そういう仕組みは作っていないので、今後考えていかなければなりませんね。


ここから、セーブデータについて

皆さんは、セーブデータを作成するとき、どのような方法を取っていますか?
私はいつも、1つのテキストデータに全部書いて、それをプログラムで読み書きするってことをしています。
しかし、今回のアプリは各問題のスコアを保持しておきたいので、1つのテキストデータだとちょっと効率が悪かったです。
なので、各問題のスコアごとにセーブデータを作っていました。
でも...
Androidにプロジェクトを移す際に、そのデータのせいか、C#の読み書きのせいかビルドができませんでした....

んで、解決策を探して見つけたのがこれ
LitJSON
LitJSONの公式
使い方等は詳しく説明してくれているサイトがたくさんあったので、そちらを見てください(おい
簡単にいうと
1. 公式からLitJSON.dllをDLして、Assets/Pluginsフォルダ(ディレクトリ?)に置いておきます。
2. Assets/JSONってフォルダ(ディレクトリ?)を作成して、その中に拡張子.jsonってファイルを作成します。
3. .jsonファイルにデータを書き込んでいきましょう。
ファイルの中身はこんな漢字で書きます.
[
{"犬","大",0},
{"猫","描",0},
]

右から、"答え","間違え","ハイスコア"ですね。
カッコで一つの問題データって感じですかね。
あとはデータを使えるように
public class SaveData {
public string Ans;
public string Miss;
public int HighScore;
}

あとは、SaveDataでリストを作成して、読み込みます。

とりあえず、これでデータを扱えるようになります。
ね?簡単でしょ?
すごく使えると思うので、ぜひ詳しく調べてみてください。(おい

私も使い始めたばかりなので、うまく説明できませんが、こんな感じで。

続きを読む

【Unity】新しいゲームの着手とNGUIのButtonについての話

久々の更新ですね。
遊戯王が再熱していて、力が分散しています 笑

さて、今回は新しいゲームを作り始めたので進捗を報告していきましょう。

まずはゲームのジャンル(タイトルはまだ決まってない...)
それは、”間違え探し”です。
似ている漢字がたくさん並んでいて、一つだけ違うものがあります。
その中の間違えを制限時間内にいくつ見つけられるかという、単純なゲームです。

プラットフォームはパソコンとAndroid端末の両方に対応させます。

現在できている部分
・タイトルからゲームオーバーまでのループ
・どの漢字で遊ぶか選択シーン
・実際にゲームで遊ぶシーン
です。

今後やらないといけない部分(最低限)
・タイトルシーン
・結果のシーン
・スコアの記録部分
ですね。

余力次第で追加する部分
・SNSにスコアを投稿する
・オンラインでのランキング
・辞書
・オプションによる言語の変更
ですねー。やれたらいいなー。

ちょっと困っているのが、問題が増えた時の処理ですね。
セレクト画面で問題を表示しているのですが、画面外にならないように、制御しないといけないですね。
まとめた部分がいっぱいになったら、新しい部分を作成するのは簡単にできそうです。
しかし、新しい部分をどのように表示させるかがちょっと難しい。
出題する問題を増やす事を考えると、どうしても必要になりそうです。
今のうちに考えておかないとですね。

ここまでが、新しいゲームのお話でした。

次に、忘れないうちに書いておきたいNGUIのButtonについての話。

・Gridを使っているのにボタンがセンターに寄ってくる現象について。
これは、ボタン側にある、UI Button Offsetを無効にするだけで大丈夫でした。

・UI ButtonMessageについて
ボタンが押された時に、ターゲットとメソッド名を指定する事で押された時にそのメソッドを起動できるというものです。
メソッドの引数にGameObject型を持っていると、押したボタンが格納されるのですよ。
確か、SendMessageか何かと同じ感じですよね??
これを使うと、押されたボタンに何かデータを持たせて置くことで、指定されたメソッド内でそのデータを無理やり扱えるのですよ。
今回作成しているゲームでは、各ボタンが問題のデータを持っているので、それをGameManagerなどに渡せるようになりました。
便利ですが、ちょっと怖い気もする機能ですね...

まぁ、今回はこんな感じで!

【Unity】進捗10 【Step Push改め星河メイの打だダDA☆】

Unityの更新が遅れてすみません。
って誰に謝ってるんだろう...

さて、色々と書いてきたStep Pushも今回が最終更新となるかと思います。(多分ね)

・タイトルが変更になりました。
「Step Push」から「星河メイの打だダDA☆」になりました。
それに伴い、タイトル画面を変更。

・リロードの重みを追加
キャラクター性能の差別化として、リロードをミスしたときに操作できない状態を追加しました。
撃てる弾が残っている状態でリロードを行うと、待ち時間が発生します。
強いキャラクターの場合、待ち時間が長いので、ミスが許されなくなります。

・おまけの画面を作成
これは、一度遊び終わるとタイトルに戻るかコンテニューするかを選べます。
その画面で、タイトルに戻ると別種類のタイトルが現れるようになります。
なんとなく、色々と思考錯誤したタイトル画面を全て採用してしまった結果ですね。
最初のタイトル以外は動きがあるので、面白いと思うんです。

最後に、今回の企画のために作成したポスターを貼っておきましょう。

ポスター01

このゲームは2015年9月17日から20日までに行われる「東京ゲームショウ2015」のゲームスクールコーナーで遊んでもらうために作成したものでした!
できたら、多くの方に遊びに来て欲しいですね^^

いつか、ブログを見返したときにいい思い出になりますように。

【Unity】進捗09【Step Push】

結構間が空いてしまいましたが、進捗を書いていきましょう。

前回まで、アニメーション等を使って、一から同じようなゲームを作り直していました。
が、仕様を元に戻すことにしました。
しかし、全てをボツにするのではなく、使える部分は使っていきましょう。

で、現状が
・コントローラーの動きを見て、誰がどのキャラクターを動かすのか、見られるようにしました。
・白い壁だと、色が付く前より硬いイメージがあったので、HPが6以上の壁は濃い色、5以下になると淡い色にしました。ものが硬いかどうかを判断する基準の一つに色の濃淡があるようなので、それをひとまず採用してみました。
・キャラクターが飛ばす弾の色を、ボタンと同じ色にしました。


しかし、前のバージョンにいきなり色々と付け加えたので、複数プレイ時などに様々なバグが出てきました。
あー、これを取り除くのが本当に大変。
頑張ろ。


あと、福島ゲームジャム2015に参加してきました。
わかりやすく言うと、約30時間くらいでゲームを完成させるイベントですね。
初めてのゲームジャム、ほとんどやったことのないチーム開発で大変でしたが、めちゃくちゃ楽しかったです。
メインプログラマ(?)を任せてもらえて、嬉しかった反面、全体の流れを考えながら、他のプログラマの方にコードを書いてもらうということがどれだけ大変かがわかりました。
何もかもが勉強になりました。
もし、機会があれば参加したいですね!

でわ、バグ取りもあるので、この辺で 笑
プロフィール

farCiel

Author:farCiel
自由気ままに楽しく書いていければ良いですね.

最新記事
最新コメント
月別アーカイブ
カテゴリ
amazon
アクセス数
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
ß
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。