前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小功能⭐️Unity静态方法拓展写法

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

作者头像
星河造梦坊官方
发布2024-08-16 08:33:48
780
发布2024-08-16 08:33:48
举报
文章被收录于专栏:星河造梦坊专栏

🟥 Unity中静态方法的作用:

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

使得写法更加地方便。

🟧 第一种通用写法:

如何使用?

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

使用脚本 Test_02 挂在场景中。

🚩 静态脚本:

代码语言:javascript
复制
using UnityEngine;
 
public class Test_01
{
    public static int[] a=new int[6];
 
    public static void Skode_Debug()
    {
        Debug.Log("hello");
    }
}

🚩 如何使用静态脚本:

代码语言:javascript
复制
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脚本

代码语言:javascript
复制
public class SingletonBase<T> where T : new()
{
    public static T Single { get; protected set; } = new T();
}

🚩目标脚本:

代码语言:javascript
复制
using UnityEngine;
 
public class Test_01 : SingletonBase<Test_01>
{
    public void Skode_Debug()
    {
        Debug.Log("hello");
    }
}

🚩如何使用目标脚本:

代码语言:javascript
复制
using UnityEngine;
 
public class Test_02  : MonoBehaviour
{
    private void Start()
    {
        Debug.Log(Test_01.Single.a.Length);
        Test_01.Single.Skode_Debug();
    }
}

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 Unity中静态方法的作用:
  • 🟧 第一种通用写法:
    • 🚩 静态脚本:
      • 🚩 如何使用静态脚本:
      • 🟨 第二种拓展写法:
        • 🚩 为什么要用?
          • 🚩 怎么用?
            • 🚩目标脚本:
              • 🚩如何使用目标脚本:
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档