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


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

👨‍💻 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.多数查找与获取
csharp 复制代码
        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#专题篇】---核心章题单实践练习


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



相关推荐
Yasin Chen3 分钟前
Unity UI坐标说明
ui·unity
应用市场1 小时前
无人机姿态控制系统详解与实现
游戏引擎·cocos2d
陈言必行5 小时前
Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
unity·编辑器·游戏引擎
1uther11 小时前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
死也不注释14 小时前
【Unity UGUI 交互组件——Slider(7)】
unity·游戏引擎·交互
程序猿多布19 小时前
XLua教程之热补丁技术
unity·c#·lua·xlua
SmalBox1 天前
【光照】Unity中的[光照模型]概念辨析
unity·渲染
挂科是不可能出现的1 天前
unity导入blender动画
unity·游戏引擎·blender
派葛穆1 天前
Unity-按钮实现场景跳转
java·unity·游戏引擎
程序猿多布1 天前
XLua教程之Lua调用C#
unity·c#·lua·xlua