作者:做普通的自我 | 来源:互联网 | 2024-11-08 20:12
本文探讨了在Unity中使用静态方法扩展的实用技巧和优化策略。首先介绍了静态方法在Unity中的作用,然后详细阐述了常见的实现方式,包括通用写法和静态脚本的应用。通过这些方法,开发者可以提高代码的可读性和维护性,同时优化性能。文中还提供了具体的示例和最佳实践,帮助读者更好地理解和应用这些技术。
文章目录
- 🟥 Unity中静态方法的作用:
- 🟧 第一种通用写法:
- 🚩 静态脚本:
- 🚩 如何使用静态脚本:
- 🟨 第二种拓展写法:
- 🚩 为什么要用?
- 🚩 怎么用?
- 🚩目标脚本:
- 🚩如何使用目标脚本:
🟥 Unity中静态方法的作用:
让你不必再GetComponent<目标脚本>().方法&#xff0c;而是直接 目标脚本.方法&#xff0c;便可直接使用目标脚本的内部方法。
使得写法更加地方便。
&#x1f7e7; 第一种通用写法&#xff1a;
如何使用&#xff1f;
静态脚本放在Assets里&#xff0c;不用挂在场景中。
使用脚本 Test_02 挂在场景中。
&#x1f6a9; 静态脚本&#xff1a;
using UnityEngine;public class Test_01
{public static int[] a&#61;new int[6];public static void Skode_Debug(){Debug.Log("hello");}
}
&#x1f6a9; 如何使用静态脚本&#xff1a;
using UnityEngine;public class Test_02 : MonoBehaviour
{private void Start(){Debug.Log(Test_01.a.Length);Test_01.Skode_Debug();}
}
&#x1f7e8; 第二种拓展写法&#xff1a;
&#x1f6a9; 为什么要用&#xff1f;
- 用了这个SingletonBase写法&#xff0c;就可以让静态脚本中&#xff0c;所有静态方法都不用写static。
- 为了项目中脚本更有逻辑&#xff0c;我们特别将静态方法都摘成各个功能的脚本&#xff0c;这些脚本用这种写法&#xff0c;便可少写代码&#xff0c;且条理。
什么脚本能用&#xff1f; 用来存放&#xff0c;不涉及MonoBehaviour生命周期方法的&#xff0c;只存放静态方法的脚本。
因为继承了SingletonBase&#xff0c;目标脚本便不可继承MonoBehaviour。
目标脚本便不可挂在场景中&#xff0c;不可使用MonoBehaviour生命周期&#xff08;小声BB&#xff09;
&#x1f6a9; 怎么用&#xff1f;
1.SingletonBase、静态脚本放在Asset即可&#xff0c;不必挂在场景
2.使用脚本&#xff0c;挂在场景即可。
SingletonBase脚本
public class SingletonBase<T> where T : new()
{public static T Single { get; protected set; } &#61; new T();
}
&#x1f6a9;目标脚本&#xff1a;
using UnityEngine;public class Test_01 : SingletonBase<Test_01>
{public void Skode_Debug(){Debug.Log("hello");}
}
&#x1f6a9;如何使用目标脚本&#xff1a;
using UnityEngine;public class Test_02 : MonoBehaviour
{private void Start(){Debug.Log(Test_01.Single.a.Length);Test_01.Single.Skode_Debug();}
}
大家还有什么问题&#xff0c;欢迎在下方留言&#xff01;
如果你有 技术的问题 或 项目开发
都可以加下方联系方式
和我聊一聊你的故事&#x1f9e1;