GameObject的属性
从Unity打开VS
可以避免很多错误,而且是正确的打开方式
创建游戏对象
//创建游戏对象
GameObject game = GameObject.CreatePrimitive(PrimitiveType.Cube);
//销毁游戏对象
GameObject.Destroy(game);
//当前脚本挂载在哪个游戏对象上,那么gameobject就表示哪一个游戏对象
//修改游戏对象的名字
game.name="夏夏";
//修改游戏的标签
game.tag=("Tag01");
//修改游戏对象的层(数字代表的是)
game.layer=8;
//将游戏对象的层转化成字符串
Debug.Log(LayerMask.LayerToName(gameObject.layer));
//改变游戏对象生成的位置
game.transform.position=new Vector3(1,1,1);
大立方体的打印
void Test01(int number)
{
for (int k = 0; k < number; k++)
{
for (int j = 0; j <number; j++)
{
for (int i = 0; i <number; i++)
{
//创建游戏对象,Primitive意思是原始的,PrimitiveType原始类型
GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
//修改每次打印的位置,transform意思是转换,position位置
obj.transform.position = new Vector3(j, k, i);
}
}
}
}
金字塔的打印
//number的作用是传递参数
void Test02(int number)
{
//k的位置是z轴,即常说的高度
for (int k = 0; k < number; k++)
{
//y轴
for (int i = 0; i <= k; i++)
{
//x轴
for (int j = 0; j <= k; j++)
{
GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj.transform.position = new Vector3(j-k*0.5f, number-k, i-0.5f*k);
}
}
}
}
案例一:编写方法创建5个GameObject空对象,名字为0-4
void Test03(int num)
{
for(int i=0;i<num;i++)
{
GameObject obj=GameObject.CreatePrimitive(PrimitiveType.Cube);
Debug.Log(i);
}
}
克隆游戏对象
void Test03(int number)
{
for (int i = 0; i < number; i++)
{
//table是预置体的名字,Instantiate的意思克隆,prefabObj克隆对象
GameObject table = GameObject.Instantiate(prefabObj, new Vector3(15 * i, 0, 0), Quaternion.identity) as GameObject;
}
}