どうも音無サノトです(^^)/
前回までのゲーム制作で一通り玉転がしゲームを完成させました。
今回からはちょっと改良を加えていこうかなと思います。
ちなみに最初の制作はこちら↓
4月7日だから1か月以上かかっていますね。ただブログにまとめたり土日しかやっていないので、実質の稼働時間は10時間もいかないと思います。
ちなみにプレイ動画がこんな感じ。
はてなブログに動画を入れてみたかったので Youtube に投稿しました。
動画キャプチャやら Youtube への投稿など、色々な副産物的なスキルがつきました。
ただ今の時代はこれくらいできて当たり前ですかね。大学生の頃、教授とデスクトップを共有しながら作業するなんてこともやっていたので IT すげえなとか思います。
さて、本題のゲームの改良です。今回はアイテム数を増やしてみようと思います。
アイテム数を増やす
まずアイテムは Pick Ups の子オブジェクトとして管理しています。
現在、12個ほど設置されているので4個増やしてみたいと思います。
Ctrl + D で複製して
四隅に追加しました。
これでアイテム数を増やすことができました。
ただし、これだとスクリプトを変更しないと上手くいかないところがあります。
アイテム数の増減に対応できるようにスクリプトの変更
まず変更しなければならないのは PlayerContoller のこの部分。
ここはアイテム数をカウントしていき12個以上になったら「You Win!」と表示する処理です。この12個の部分が数値で直接記入しているため、今回の様にアイテムを増やした場合、数値を変えないといけなくなります。
4個増やして、16と数値を記入してもいいのですが、それだとアイテムが増減する度にスクリプトを変えなければいけません。
そこで、アイテムが増減してもプログラムを変更せずに済むようにします。
方法としては何種類かありますが、今回は親オブジェクトとなる Pick Ups を検索し、子オブジェクトの数を取得するようにします。
スクリプトを以下のように変更します。コメントをつけている3行だけ変えればOKです。
それでは処理の説明をします。
まず、アイテム数を取得してそれを格納する変数を用意します。
次に Start() 関数内にアイテムの個数を取得する処理を追加します。
GameObject.Find("オブジェクト名") でゲーム内のオブジェクトを検索しています。
そして、transform.chilCount でその子オブジェクトの個数を取得しています。
こうすることで Pick Ups で管理されているアイテムを増やしたり減らしたりしてもスクリプトを変える必要がなくなります。
後は if 文の判定を数値から PickUpNum に変更すれば完了です。
実際にゲームを再生すると、16個取った時にテキストが表示されることを確認できます。
ちゃんとできていますね(^^♪
次回はこのゲームに敵でも追加してみようかなと思います。
本日は以上となります。最後まで読んでいただきありがとうございました!