您当前的位置: 首页 >  莉萝爱萝莉 unity

UnityAPI-GameObject

莉萝爱萝莉 发布时间:2020-12-09 14:05:40 ,浏览量:6

一、GameObject是unity的基本对象
二、创建游戏物体的三种方法
  1. 创建一个空对象
new GameObject("gameObject name"); 
  1. 通过其他物体(场景对象、预制体)复制对象。
// 四个参数分别为:源对象,位置坐标,旋转坐标,父对象。
GameObject.Instantiate(GameObject, Vector3, Quaternion, GameObject);
  1. 创建一个系统内置对象预制体。
// PrimitiveType内包含系统内置的一些游戏对象
GameObject.CreatePrimitive(PrimitiveType);
三、从本地加载资源的方法
// 获取的资源文件必须在Assets下的Resources中,
// 入参string为路径,写路径只需要写Resources下的子路径。
Resources.Load(path);
四、游戏组件

使用AddComponent为对象添加组件

GameObject obj = new GameObject();
// 这里添加一个刚体组件
obj.AddComponent();

使用Destroy为对象移除组件

Destroy(GetComponent());

获取组件的几种方法
注:组件有方法enabled,可以控制组件是否启用

方法描述
GetComponent();获取当前对象的对应组件
GetComponentInChildren();获取当前对象及子对象中第一个对应组件
GetComponentInParent();获取当前对象及父对象中第一个对应组件
GetComponents();获取当前对象的所有对应组件
GetComponentsInChildren();获取当前对象及子对象中所有对应组件
GetComponentsInParent();获取当前对象及父对象中所有对应组件
五、GameObject的成员变量
成员变量说明
activeInHierarchy游戏对象在场景中是否处于激活状态。(只读)
自身和父物体都要处于激活状态
activeSelf游戏对象自身在场景中是否处于激活状态。(只读)
仅仅自身是否处于激活状态
isStatic游戏对象是否是静态的
layer游戏对象在第几图层
scene游戏对象所属场景(只读)
tag游戏对象的标签
如要设置,只能设置已经预定义的标签
transform游戏对象的位置组件
name游戏对象的名字
六、禁用和启用一个游戏物体

使用SetActive来启用或禁用游戏物体

GameObject obj = new GameObject();
// 禁用新生成的游戏物体
obj.SetActive(false);
七、GameObject的静态成员
静态成员说明
Destroy(GameObject, float);在若干秒后消除一个对象
DestroyImmediate(GameObject);立即消除一个对象,(不建议使用)
DontDestroyOnLoad(GameObject);允许一个对象留存到下一个场景
FindObjectOfType();查找第一个拥有该组件的对象
不查找未激活的对象
FindObjectsOfType();查找所有拥有该组件的对象
不查找未激活的对象
GameObject.Find(string);查找与入参相同名字的一个物体
GameObject.FindGameObjectsWithTag(string);查找与入参相同标签的所有物体
GameObject.FindGameObjectWithTag(string);查找与入参相同标签的一个物体
八、游戏物体间消息的发送和接收
方法描述
SendMessage()只发送给自身的所有组件
SendMessageUpwards()发送给自身和所有父组件
BroadcastMessage()发送给自身的所有子组件

参数

参数描述
string methodName目标函数名
object value入参(多个参数用数组入参以及接收)
SendMessageOptions options没有接受者时是否报错
关注
打赏
查看更多评论

莉萝爱萝莉

暂无认证

  • 6浏览

    0关注

    45博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录