GameObject类的使用

创建物体的三种方法,这三种方法实际上都是属于GameObject类的方法

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//创建gameObject的方法
public class gameObject : MonoBehaviour {

public GameObject prefab;

// Use this for initialization
void Start () {
    //1.第一种创建方法(创建空的游戏物体,名字为New Game Object)
    //也可以对其进行命名,比如命名为“Cube”
    new GameObject();
    GameObject go = new GameObject("Cube");

    //第二种创建方法 静态方法Instantiate()
    //根据prefab或者场景中的游戏物体/特效来实例化的(理解:一个类的实例化过程)
    GameObject.Instantiate(prefab);

    //第三中创建方法  CreatePrimitive() 创建一些原始的图元或形状
    //原始的图元比如:cube plane等等
    GameObject.CreatePrimitive(PrimitiveType.Cube);
    GameObject.CreatePrimitive(PrimitiveType.Capsule);

}

// Update is called once per frame
void Update () {
    
}
}

通过代码给游戏物体添加组件
如:添加一个刚体组件(可以添加任意组件,包括自定义脚本)

GameObject go = new GameObject("Cube");
go.AddComponent<Rigidbody>();

GameObject的两个常用属性:

 

 

GameObject go = new GameObject("Cube");
//表示游戏物体是否在Hierarchy面板中激活
Debug.Log(go.activeInHierarchy); //true
go.SetActive(false); 
Debug.Log(go.activeInHierarchy); //false
//tag标签,用来区分不同的游戏物体
Debug.Log(go.tag);

其他属性:
layer 分层
scene 所在场景
tag 标签
transform

GameObject的静态方法
1.GameObject.CreatePrimitive 见上面第三种创建物体的方法
2.GameObject.Find (根据名字)查找游戏物体
通过遍历来查找(当游戏物体较多时,比较耗费性能)
3.GameObject.FindGameObjectsWithTag
返回所有符合这个标签的游戏物体(一个数组)
4.GameObject.FindWithTag
返回第一个符合这个标签的游戏物体

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值