149cmプログラマ-

お仕事できるように勉強するー。

Unity 4.3で 2Dゲーム[C#] パズドラ風パズル

いつのまにかUnity 4.3がリリースされていたみたいです。
2Dゲームが作りやすくなったみたい。

というわけで、

パズドラのパズル部分っぽいパズルゲーム(マッチ3ゲーム、スリーマッチ)を作ってUnity 4.3の 2D機能を使ってみよう。できるといいな。

f:id:unity3d:20131201153450p:plain

プロジェクトを作る

新規作成します。
2Dが選択できる
f:id:unity3d:20131201155454p:plain

Sceneビューにも右上に2DのボタンがあるのでONにしてみた。
f:id:unity3d:20131201155823p:plain

ブロックを表示する

テクスチャにする画像をAssetフォルダに保存して、Hierarchyにドラッグ&ドロップ
すると、Sprite Rendererというコンポーネントを持って
いい感じに配置されています。スプライトってなに?
f:id:unity3d:20131201161154p:plain

そのスプライトをHierarchyからProjectにドラッグ&ドロップ
すると、prefabになりました。
f:id:unity3d:20131201162256p:plain
ブロックの種類ごとにそれぞれprefabつくります。
prefabができたら、Hierarchyにあるものは全部削除して、スクリプトで配置する

public static int numColors = 6,
	w = 7,
	h = 7,
	gridLength = w * h;
public Transform[] prefab = new Transform[numColors];
void Start ()
{
	for (int i = 0; i < gridLength; i++) {
		int var = Random.Range (0, numColors);
		Vector3 pos = new Vector3 (i/h - w/2, i%h - h/2, 0);
		Transform tOb = (Transform)Instantiate (prefab [var], transform.position + pos, transform.rotation);
	}
}

InspectorでTransform[] prefab にプレハブをいれておけば、ブロックが出来る。はず。
最初から3つ以上そろってるのは、こことかを参考に無くしていく。
そして。

ブロックの移動

右には、動くようになった。
上下左は動かないけど。
つづく。

クリスマスー。
素材おかりしました。リンクウェアだからりんくです。

今日は。

とりあえず、ブロックの配置ができた!
スプライトってなんだろう。
こんな感じの使い方でいいのかは分からないです。

なんか突っ込みどころとか、おかしい箇所あれば、教えてもらえれば嬉しいです。
ちゃんと完成するといいな。