Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity10】パズドラ的なゲーム(3-match)のチュートリアル【パズドラ風1】

いつもひよこのたまごをご利用下さいましてありがとうございます!
おかげ様でチュートリアル数も10ゲーム目となりました!
チュートリアル一覧は
こちら からどうぞ!


スポンサーリンク

Unity5.1.1p3 Personal(2015年7月)

f:id:hiyotama:20150730125817p:plain

今回からはパズドラ的なパズルゲームを作っていこうと思います〜

パズドラみたいに3つ以上の宝石を並べて消すゲームを、3-matchと呼ぶそうです〜

こちらの動画と、わなびノートさんの記事を参考に作っていこうと思います〜

今回はとりあえず画面上にCubeを30個並べてみます〜

【目標】画面にCubeを30個並べる!

まずはこちらのエッセンスを参考に、2D設定でProjectを作成して下さい〜

続いてHierarchyビューからCreate > 3D Object > Cubeを選択します〜
CubeのTransform情報はデフォルトのままでお願いします〜

f:id:hiyotama:20150730121154p:plain
CubeのTranform情報


続いて早速ですが、Cubeをプレハブ化します〜
Prefabsフォルダーを作成して、Cubeをドラッグ&ドロップして下さい〜
HierarchyビューにあるCubeは削除します〜

f:id:hiyotama:20150730121519p:plain
ドラッグ&ドロップ!


続いて空のGameObjectを作成します〜HierarchyからCreate > Create Emptyを選択し、名前を「GemManager」として下さい〜
GemManagerのTransform情報も、デフォルトのままで大丈夫です〜

f:id:hiyotama:20150730122442p:plain
GemManagerのTransform情報


このGemManagerオブジェクトの下に、先ほどのCubeプレハブを30個作っていきます〜


それではGemManagerという名前のスクリプトを作成して下さい〜以下ソースです〜

using UnityEngine;
using System.Collections;

public class GemManager : MonoBehaviour {
	
	public int gridWidth; //Gemを並べる横幅
	public int gridHeight; //Gemを並べる縦幅
	public GameObject gemPrefab; //Cubeプレハブを指定

	void Start () {
		//縦幅分だけループ
		for(int y = 0; y < gridHeight; y++){
			//横幅分だけループ
			for(int x = 0; x < gridWidth; x++){
				//Cubeを作成
				GameObject g = Instantiate(gemPrefab, new Vector3(x, y, 0), Quaternion.identity) as GameObject;
				//Cubeの親オブジェクトを、このオブジェクト(GemManager)に指定
				g.transform.parent = gameObject.transform;
			}
		}
	}
	
	void Update () {
	
	}
}

GemManager.cs


public変数であるgridWidthに6を、gridHeightに5を、gemPrefabに作成したCubeプレハブを設定します〜
ついでにCubeプレハブの名前をGemに変更しておきましょう!

f:id:hiyotama:20150730123756p:plain
ドラッグ&ドロップ!


for文で縦・横方向へループを実行し、InstantiateにてGemを生成しています〜
生成したGemは、GemManagerの子オブジェクトに指定します〜


それでは実行してみましょう〜

f:id:hiyotama:20150730124731p:plain


一枚の板のようなものが生成されましたが、これは30子のGemオブジェクトが隙間無く生成された結果です〜
GemManagerを選択した状態でSceneビューで見てみると、よく分かります〜

f:id:hiyotama:20150730125051p:plain
30個のGemを生成


最後にちょっと位置がズレているので、Main CameraのTransform情報を以下のように変更して下さい〜

f:id:hiyotama:20150730125416p:plain
Main CameraのTransform情報


f:id:hiyotama:20150730125442p:plain
中央に表示


ひとまずCubeを画面に表示させることができました〜


今回はここまでです〜

ありがとうございました〜