【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#专题篇】---核心章题单实践练习


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



相关推荐
点量云实时渲染-小芹37 分钟前
UE/Unity/Webgl云渲染推流网址,如何与外部网页嵌套和交互?
unity·webgl·webgl云渲染网页交互·点量云流
ynxw40 分钟前
Unity AR 实现模型交互
android·unity·ar·交互
AgilityBaby5 小时前
在Unreal Engine 5(UE5)中,Get PlayerPawn和Get PlayerController的区别以及如何计算玩家和目标之间的距离。
笔记·ue5·游戏引擎·蓝图
还债大湿兄11 小时前
游戏引擎学习路径与技术栈指南
学习·游戏引擎
Magnum Lehar2 天前
wpf3d游戏引擎EditorColors.xaml实现
ui·游戏引擎·wpf
Magnum Lehar2 天前
vscode游戏引擎的build-clean配置
ide·vscode·游戏引擎
Magnum Lehar2 天前
vscode游戏引擎的build-all全局配置
ide·vscode·游戏引擎
龚子亦2 天前
【Shader学习】完整光照效果
unity·技术美术·shader
weixin_531638943 天前
Rokid AR交互开发工具对比
unity·游戏引擎·xr
Magnum Lehar3 天前
wpf3d游戏引擎ControlTemplate.xaml.cs文件实现
游戏引擎·wpf