2013년 12월 25일 수요일

[puzzle] 배치.

배치가 먼저...
배치 하면서..  배열을 통해.. 해당 이름과 게임 오브젝트를 저장..
이름은.. 넘버링을 해서.. 나중에 참조하기 위해.. 1_1 뭐 이런식으로 저장..
게임오브젝트를 저장하는 것은.. 이를 기본 배열로 사용하기 위해..

이것과 다르게.. 미리 배열을 만들어.. 참조하는 방법도 있습니다.
그게 옳은것 같은데.. 뭐.. 하다 보니.. 이렇게 됐네요.



using UnityEngine;
using System.Collections;

public class csManager : MonoBehaviour {

// 보글 변수..
public static GameObject blue;
public static GameObject red;
public static GameObject green;
public static GameObject yellow;
public static GameObject pupple;
GameObject block_bank;
string block_namelist;



int rows = 7;
int cols = 6;
int totlakind = 5;
bool canDelete=false;

public static int [,] randonList; // 무늬를 저장..
private GameObject  [,] bogles; // 게임 오브젝트를 저장..


void Awake(){

randonList = new int[rows,cols];
bogles = new GameObject [rows,cols];

blue=Resources.Load("Prefabs/blue") as GameObject;
red=Resources.Load("Prefabs/red") as GameObject;
green=Resources.Load("Prefabs/green") as GameObject;
yellow=Resources.Load("Prefabs/yellow") as GameObject;
pupple=Resources.Load("Prefabs/pupple") as GameObject;

}


void Start () {
block_bank = GameObject.Find("Block_Bank");

// 기본 시작 위치..
float pos_x=-2.5f;
float pos_y=-1.0f;


//2중 포문으로.  배치 한다..
for(int i=0; i<rows;i++)
{

for(int j=0; j<cols;j++)
{
//int k = Random.Range(0,totlakind);
// 배열에서.. 보글의 칼라를 참조..
randonList[i,j] = Random.Range(0,totlakind);
// 프레펩을.. 정한다..
GameObject block = null;
if(randonList[i,j]==0)
{
block = blue; // 프리펩을.. 정하고..
block_namelist=i+"_"+j;  // 이름을 만든다.
}
if(randonList[i,j]==1)
{
block = red;
block_namelist=i+"_"+j;
}
if(randonList[i,j]==2)
{
block = green;
block_namelist=i+"_"+j;
}
if(randonList[i,j]==3)
{
block = yellow;
block_namelist=i+"_"+j;
}
if(randonList[i,j]==4)
{
block = pupple;
block_namelist=i+"_"+j;
}
// 게임오브젝트 배치..
GameObject temp = Instantiate(block,new Vector3(pos_x, pos_y, 0),transform.rotation) as GameObject;
temp.transform.parent = block_bank.transform; // 블록 뱅크 밑에.. 위치..
temp.name = block_namelist;
bogles[i,j] =temp;



pos_x++; // x 만큼.. 우측으로..


}
pos_y++; // y만큼 위로..
pos_x = -2.5f; // 새로 시작하는 위치..


}
//배열 확인.. 구동 되는지..
Debug.Log(bogles[0,0].gameObject.tag);

}




}