using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreatGameObject : MonoBehaviour {
public GameObject Cube;
//3-0、这里定义了一个cube的字段,则unity的脚本里就会多一个空的cube栏
//,把unity里的cube拖到这个栏里,就可以在下方调用这个cube拥有的方法
void Start ()
{
//动态创建一个游戏对象
//1、确定形状
GameObject Aobject = GameObject.CreatePrimitive(PrimitiveType.Capsule);
//2、设置所创建的游戏对象的初始位置,1/2步骤完毕即可动态创建一个游戏物体
Aobject.transform.position = new Vector3(3, 0, 3);
Aobject.name = "Aobject";
Debug.Log(Aobject.name);
GameObject Bobject = GameObject.CreatePrimitive(PrimitiveType.Sphere);
Bobject.transform.position = new Vector3(0,3,3);
Bobject.name = "Bobject";
Debug.Log(Bobject.name);
GameObject Cobject = GameObject.CreatePrimitive(PrimitiveType.Cube);
Cobject.transform.position = new Vector3(3,3,0);
Cobject.name = "Cobject";
Debug.Log(Cobject.name);
//3-1,打印cube的标签Tag
Debug.Log("此时Cube的标签名是:"+Cube.tag);
//3-2,由上方3-1得出扩展:可以经过if/else判断cube的tag是什么类型,继而执行什么操作
//,且由于if跟else是两个不同的作用域,所以变量名可以取名相同,不冲突。
if (Cube.tag == "Untagged")
{
GameObject Dobject = GameObject.CreatePrimitive(PrimitiveType.Sphere);
Dobject.transform.position = new Vector3(5, 0, 5);
Dobject.name = "DifObject";
Debug.Log(Dobject.name + "判断标签名tag一致" + Dobject.tag);
}
else
{
GameObject Dobject = GameObject.CreatePrimitive(PrimitiveType.Capsule);
Dobject.transform.position = new Vector3(0, 5, 5);
Dobject.name = "DelseObject";
Debug.Log(Dobject.name + "判断标签名tag不同" + Dobject.tag);
}
//4、除了可以打印cube的tag,还可以打印cube的layer的层级值
//,索引从0开始,层位于索引几即可得索引值。
//可以通过layer的add layer自定义添加新层,貌似只能从8开始添加,例如第8层添加了VR层
Debug.Log(Cube.layer);
//如果选择新添加的VR层,则会打印出8
//同时camera检视面板里的Culling Mask(遮罩)栏里也是可以选择层的,只有游戏对象的层级属于camera所勾选的层级类型才会被显示。
//所以游戏的小地图可以用这个方法只显示路径。
//5、游戏物件检视面板勾选了Static
//【——————插播小知识:当游戏对象在检视面板勾选了Static时,表示:有且仅有一份。当勾选了static则在unity运行时无法对该物件进行任何操作——————】
//【——————其实说白了就是游戏场景里只需要烘焙一次的场景物件就勾选Static,一般用于不会动的屋子杂物栅栏什么的,因为物件影子烘焙了就固定在一个地方了————】
//6、【SetActive】API
Cube.SetActive(true);//如果设置false,则unity运行时,cube会自动隐藏,检视面板负责显示/隐藏物件的勾号会自动取消。
//引申:SetActive可用于连连看一类游戏,两个一样的物件tag值一样,则隐藏消失掉,如果tag值不一样则不会消失。
}
void Update () {
}
}
网友评论