【Unity每日一记】鼠标相关API

发布于:2024-04-08 ⋅ 阅读:(125) ⋅ 点赞:(0)

在这里插入图片描述


👨‍💻个人主页@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创

👨‍💻 收录于专栏unity每日一记

🅰️推荐文章


【软件设计师高频考点暴击】

【Unityc#专题篇】之c#系统化大礼包】

【unity数据持久化】数据管理类_PlayerPrfs

【unity本站最全系列】unity常用API大全一篇文章足以
在这里插入图片描述




API之——鼠标相关


在这里插入图片描述


API 之——创建,获取,失灵,销毁


👨‍💻👍1.创建物体的三种方式


1.new 构造函数
2.instantiate 实例化方法
3.Gameobject .CreatPrimtive(Primitve Type.cube);使用特别的API创建一些基本的游戏物体类型(原始几何体)


👨‍💻👍2.游戏物体的获取和查找


if(this.TryGetComponent<>( out 脚本名) )
{
//获取到了就进行处理
}

  • 获取

  • 1.this

  • 2.获取游戏物体的标签 gameObject.tag

  • 3.获取游戏物体的名字 gameObject.name

  • 4.获取游戏物体的层级 gameObject.layer

获取对象位置信息

  • 1.位置:this.transform.position
  • 2.角度:this.transform.eulerAngles
  • 3,缩放大小:this.transform.lossyScale

1.子对象的获取

  • 1.transform.Getchild(序列号);
  • 2.transform.GetsiblingIndex() -----获取同级索引(查找自已是父亲的第几个儿子)
  • 3.transform.GetComponentInChildren< Transform>(序列号);

2.父对象的获取

  • 1.transform.parent();

3.Project的资源获取–资源加载

  • Resources.Load< GameObject>(“资源路径”)

4.根据脚本名获取

  • 获取脚本的方法 如果获取失败 就是没有对应的脚本 会默认返回空
    Test t = this.GetComponent(“Test”) as est;
    print(t);

  • 根据Type获取
    t = this.GetComponent(typeof(Test)) as Test;
    print(t);

  • 根据泛型获取 建议使用泛型获取 因为不用二次转换

      t = this.GetComponent<Test>();
    

脚本的获取

  • 脚本是否失活
    this.enabled = false;

  • 1.得到自己挂载的单个脚本
    Test t = this.GetComponent(“Test”) as Test;

  • 2.得到自己挂载的多个脚本
    Lesson3[] array = this.GetComponents();

  • 3.得到子对象挂载的脚本(它默认也会找自己身上是否挂载该脚本)
    t = this.GetComponentInChildren<Lesson3_Test>(true); ——//ture表示失活了亦会寻找

  • 4.得到父对象挂载的脚本(它默认也会找自己身上是否挂载该脚本)
    t = this.GetComponentInParent<Lesson3_Test>();

  • 5.尝试获取脚本
    提供了一个更加安全的 获取单个脚本的方法 如果得到了 会返回true


查找物体

  • 1.GameObject,Find()-----按照名字查找游戏对象 ,用太多会降低性能
  • find的本质——单例模式的升级版 + 服务定位器 (若代码较为复杂的话性能消耗较大)

  • 2.GameObject,FindobjectType<>();------按照组件名来查找游戏物体
  • 3.GameObject.FindGameObjectwithTag()------按照游戏物体标签来查找游戏物体
  • 4.多数查找与获取
  • 在这里插入图片描述
        GameObject[] enemyGos= GameObject.FindGameObjectsWithTag("Enemy");
        for (int i = 0; i < enemyGos.Length; i++)
        {
            Debug.Log("查找到的敌人游戏物体名称是:"+enemyGos[i].name);
        }

失灵

  • 1.xx.SetActive(false); --------应用于游戏物体xx为GameObject类型继承自Object类
    使得相应的脚本对象失灵
  • 2.xx.enable = fasle;-----------应用于脚本/组件xx为组件类型,继承为Copment类
    使得相应游戏物体的组件失灵
  • 3.XX.activeInHierarchy____判断该游戏物体是否是失活状态

销毁

  • 1.Destroy()
  • 2.Detroy(xx , Time)__延时销毁

👨‍💻👍3.继承


常见类的继承关系:

自己创建的类 -> MonoBehavair->Behavir->Conpment->Object



🅰️系统路线学习点击跳转


【Unityc#专题篇】之c#进阶篇】

【Unityc#专题篇】之c#核心篇】

【Unityc#专题篇】之c#基础篇】

【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


在这里插入图片描述



网站公告

今日签到

点亮在社区的每一天
去签到