GameObject中的静态方法

1.创建几何体

GameObject.CreatePrimitive(PrimitiveType.Cube);//创建一个立方体

2.查找单个对象

通过名字获取

效率低 遍历场景中的所有对象 没有找到返回null
GameObject game = GameObject.Find(“Cube”);

通过标签获取

GameObject game = GameObject.FindWithTag(“MainCamera”);
同样的效果
GameObject game =GameObject.FindGameObjectWithTag(“MainCamera”);

注意

名字和标签方法无法获取失活对象 只能找到激活对象
场景中若有多个同名或同标签的对象 随机返回一个

准确得到单个对象的方法
1.使用public 对象 在Inspector中设置对象
2.名字或者标签唯一

3.查找多个对象

GameObject.FindGameObjectsWithTag(“MainCamera”);
返回一个数组
无法获取失活对象 只能找到激活对象
Unity里的Object不是万物之父
GameObject.FindObjectOfType<脚本名>();//效率更低 不仅遍历对象还遍历对象上的脚本

4.实例化(克隆)对象

根据一个游戏对象 克隆一个和它一样的对象
GameObject.Instantiate(GameObject.CreatePrimitive(PrimitiveType.Capsule));
参数为游戏对象或者预制体

5.删除对象

GameObject o= GameObject.Instantiate(GameObject.CreatePrimitive(PrimitiveType.Capsule));
GameObject.Destroy(o);//删除
GameObject.Destroy(o,1f);//1秒后删除 参数二代表时间
不仅可以删除游戏对象还可以删除脚本
不会立即删除对象 先给对象加标记 然后在下一帧删除对象
DestroyImmediate(this.gameObject);//立即删除对象

6.场景切换时不删除指定对象

GameObject.DontDestroyOnLoad(this);

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值