GameObject相关

GameObject意指游戏对象
下面这些都是游戏对象

GameObject相关
文章图片
游戏对象 1 GameObject标识 1.1 Name 对象名,可以重复,无限数量

//我们可以通过名字寻找对象 GameObject.Find(string name); //此方法每次都会遍历整个场景来寻找匹配的游戏物体,比较消耗资源

1.2 Tag 对象的标签,在Tags&Layer面板中设置
当物体可能是空物体时,(游戏开发中,常用空物体去保存一些位置信息,空物体没有渲染,这时给物体添加一个图标,便于寻找查看)
//我们可以通过Tag标签来寻找游戏对象 GameObject.FindGameObjectWithTag(string tag); //查找一个对象 GameObject.FindGameObjectsWithTag(string tag); //查找所有挂载此标签的对象,并返回一个GameObject数组

GameObject相关
文章图片
例子 1.3 Layer 标记对象渲染组名字,常用于射线碰撞,摄像机裁剪,最多只能有32组
所在位置如下图
GameObject相关
文章图片
Paste_Image.png 2 动态创建物体 方法1 利用GameObject.CreatePrimitive创建 此方法创建一个带有基本网络渲染器和相应碰撞器的游戏物体
GameObject相关
文章图片
例子 方法2 利用GameObject.Instantiate创建
public GameObject obj1; void Start () { GameObject game1 = GameObject.Instantiate(obj1); game1.name = "Player2"; game1.transform.position = new Vector3(2, 2, 0); }

GameObject相关
文章图片
例子 3 动态添加物体组件 GameObject相关
文章图片
Paste_Image.png
//例子 //Sphere.AddComponent(); //泛型 Sphere.AddComponent(typeof(Rigidbody)); //非泛型

4 删除游戏对象 Destroy(Object obj); //立刻删除对象
Destroy(Object obj,float 1f); //延时删除
GameObject相关
文章图片
例子 5 发送消息 (1)向上发送消息,向物体自身和父物体发送消息,如果消息没有被任何一个组件处理,则会打印一个错误。 方法为:SendMessageUpwards("父物体方法名"); //例子如下图 GameObject相关
文章图片
字物体脚本 (2)广播消息,对物体自身和所有子物体发送消息。如果消息没有被任何一个组件处理,则会打印一个错误。 方法为:BroadcastMessage("字物体方法名"); //例子如下图 GameObject相关
文章图片
父物体脚本
打印结果如下
GameObject相关
文章图片
打印结果 (3)向同级发送消息,如果消息没有被任何一个组件处理,则会打印一个错误 方法为:Obj.SendMessage("同级物体方法名"); //例子如下图 【GameObject相关】球的脚本

GameObject相关
文章图片
球的脚本 胶囊的脚本

GameObject相关
文章图片
胶囊的脚本 在unity的操作

GameObject相关
文章图片
在Unity的操作 打印结果如下
GameObject相关
文章图片
打印结果

    推荐阅读