現在作っているゲームが 製作時間が取れず滞っているため ミニゲーム的な物を作り始めました |
コストも時間もかけずに見切り発車で考えてしまったため 画像のようにUIでもとっちらかった状態よ 思いつきでも計画性は必要ってことね |
今回はかなりUnityのアセットにお世話になるつもりだから かなり早く作れるんじゃなかな? とフラグを立てておく |
ということで、 今回は製作ブログになります 詳しくは続きを読むからどうぞー |
いままで作ってるゲームが ゲームパット前提でつくっていたので こういうタッチ(マウス)式のUIって作ったことがありませんでした |
参考にしたのは上のサイトよ 難しいことは一切なく コードも数行でボタンを作成出来るわ |
メインメニューから GameObject > UI > Button を選択するとボタンが作られるから Inspectorビューでボタンのサイズとか設定、Hierarchyビューのボタンの子レイヤーにTextがあるので そこにボタンのタイトルを入力すれば完成だ |
クリックした時に動きが作りたいときは InspectorビューのButton (Script)でTransactionの項目を「Color Tlnt」から「Sprite Swap」に変更 すると「Highlighted Sprite:マウスが上に乗った時の画像」「Pressed Sprite: ボタンを押した時の画像」「Disabled Sprite: ボタン無効化時の画像」で設定できるようになります |
「Color Tlnt」でもいいんだけど 元の画像に色を重ねて表現するから細かな操作はできません 各種画像を作って入れ替える形式のほうが便利だと思います |
これで、ボタンをカチカチ出来るようになったんだけど おした時の処理を作らないと意味が無いので動作をソースで作っていくわ ココらへんはプログラムがいるわね |
using UnityEngine; using System.Collections; ////// スタートボタンの処理 /// public class StartButtonScript : MonoBehaviour { ///戦闘開始ボタン public GameObject mStartButton; // Use this for initialization void Start() { } // Update is called once per frame void Update() { } ////// ボタンをクリックした時の処理 /// public void OnClick() { //デバッグログ表示 Debug.Log("GameStart Button click!"); //戦闘開始ボタンを非表示に mStartButton.SetActive(false); } }
適当にソースファイルを作成して OnCilck()って言う関数を追加するぞ関数名はなんでもいいんだけど、分かりやすいほうがいいな 上のソースコードだと、OnCilck()が実行されるとmStartButtonというオブジェクトを非表示にする様になってるな |
作ったソースコードを Hierarchyビューの先ほど作ったButtonにドラッグ&ドロップします これで、下準備完了です |
InspectorビューのButton (Script)でOnCilckという項目があるので +ボタンをクリックして、選択枠がでるので今作ったButtonオブジェクトを選択し、 右のリストで先ほど作ったソースコードからOnCilck(作った関数名)を選択します |
これで、ソースコードとButtonがつながって動作するようになります とはいえこのままでは不十分なのでもう少し設定をします もっと図を使えばよかったとここで後悔…… |
InspectorビューにStart Button Script(Script)という先ほど作った項目が増えていと思う ここに、先ほど定義したPublic変数があると思うのでリストから自分自身のObject(データを入れたいObject等)を選択する すると、ソースコードの変数public GameObject mStartButton;にそのデータが代入されるので、OnCilck関数が動く様になるぞ |
冬月先生用のメモ書きなので わかりにくい説明で申し訳ございません…… 難しそうに見えますが、作ってみるとすごく簡単ですので、位置からボタンを作ってた人(冬月がそうなんだけど)おすすめしますよ! |
ということで、ボタン処理を使ってタイトル画面を作ってました 背景は過去に買った素材から使って、UIはアセットストアで買いましたこれだけでもゲームっぽく見えますね~ 来週ぐらいにはキャラ選択画面作りたいですね |