小功能⭐️Unity静态方法拓展写法

简介: 小功能⭐️Unity静态方法拓展写法

🟥 Unity中静态方法的作用:

让你不必再GetComponent<目标脚本>().方法,而是直接 目标脚本.方法,便可直接使用目标脚本的内部方法。

使得写法更加地方便。


🟧 第一种通用写法:

如何使用?

静态脚本放在Assets里,不用挂在场景中。

使用脚本 Test_02 挂在场景中。

🚩 静态脚本:

using UnityEngine;
 
public class Test_01
{
    public static int[] a=new int[6];
 
    public static void Skode_Debug()
    {
        Debug.Log("hello");
    }
}


🚩 如何使用静态脚本:

using UnityEngine;
 
public class Test_02  : MonoBehaviour
{
    private void Start()
    {
        Debug.Log(Test_01.a.Length);
        Test_01.Skode_Debug();
    }
}


🟨 第二种拓展写法:

🚩 为什么要用?

  • 用了这个SingletonBase写法,就可以让静态脚本中,所有静态方法都不用写static。
  • 为了项目中脚本更有逻辑,我们特别将静态方法都摘成各个功能的脚本,这些脚本用这种写法,便可少写代码,且条理。
    什么脚本能用? 用来存放,不涉及MonoBehaviour生命周期方法的,只存放静态方法的脚本。

因为继承了SingletonBase,目标脚本便不可继承MonoBehaviour。

目标脚本便不可挂在场景中,不可使用MonoBehaviour生命周期(小声BB)


🚩 怎么用?

1.SingletonBase、静态脚本放在Asset即可,不必挂在场景

2.使用脚本,挂在场景即可。

SingletonBase脚本

public class SingletonBase<T> where T : new()
{
    public static T Single { get; protected set; } = new T();
}


🚩目标脚本:

using UnityEngine;
 
public class Test_01 : SingletonBase<Test_01>
{
    public void Skode_Debug()
    {
        Debug.Log("hello");
    }
}


🚩如何使用目标脚本:

using UnityEngine;
 
public class Test_02  : MonoBehaviour
{
    private void Start()
    {
        Debug.Log(Test_01.Single.a.Length);
        Test_01.Single.Skode_Debug();
    }
}


相关文章
|
11天前
|
图形学 UED
unity Tab键实现切换输入框功能
该脚本用于简化输入框之间的Tab键切换操作。只需将脚本挂载在InputField上,无需其他设置。脚本通过监听Tab键和Shift键组合,自动选择下一个或上一个可交互的InputField,提升用户体验。
|
5月前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
533 0
|
6月前
|
定位技术 C# 图形学
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
|
6月前
|
图形学
小功能⭐️Unity UnityEvent实现代码的选择
小功能⭐️Unity UnityEvent实现代码的选择
|
6月前
|
机器学习/深度学习 图形学 Windows
小功能⭐️unity3d KeyCode各键值说明
小功能⭐️unity3d KeyCode各键值说明
|
6月前
|
数据可视化 图形学
小功能⭐️Unity2018 Shader Graph——全息影像、物体消融
小功能⭐️Unity2018 Shader Graph——全息影像、物体消融
|
6月前
|
图形学
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
|
6月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
6月前
|
图形学
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件
小功能⭐️Unity Button按钮实现鼠标移入移出触发相应事件