Unity中使用单例类
来源:互联网 发布:mysql 读写分离插件 编辑:程序博客网 时间:2024/06/04 19:54
Unity中使用单例类
- 单例模式
- Unity中单例类的创建
- Unity中单例类的使用
单例模式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
Unity中单例类的创建
using UnityEngine;using System.Collections;/// <summary>/// 单例类/// </summary>public class SingleClass { //防止外部实例 private SingleClass() { } //静态单例对象(之后一直访问的都是它) private static SingleClass _instance; //获取单例对象的方法 public static SingleClass Instance() { if(_instance == null) { _instance = new SingleClass (); } return _instance; } /// <summary> /// 原黑色方块,现在的颜色 /// </summary> public Color blackColor; /// <summary> /// 原白色方块,现在的颜色 /// </summary> public Color whiteColor; /// <summary> /// 用于开始界面,更换白色方块的颜色 /// </summary> /// <param name="c">C.</param> public void ChangeWhileColor(Color c) { SingleClass.Instance().whiteColor = c; } /// <summary> /// 用于开始界面,更换黑色方块的颜色 /// </summary> /// <param name="c">C.</param> public void ChangeBlackColor(Color c) { SingleClass.Instance().blackColor = c; }}
Unity中单例类的使用
using UnityEngine;using System.Collections;public class InitCubes : MonoBehaviour { //别踩白块中的一层白块 public GameObject cubes; //用户黑色方块的外部接口 public Color blackColor; //用户白色方块的外部接口 public Color whiteColor; /// <summary> /// 用户设置 /// </summary> void Awake() { SingleClass.Instance().ChangeBlackColor(blackColor); SingleClass.Instance().ChangeWhileColor(whiteColor); } /// <summary> /// 游戏开始 /// </summary> void Start() { //在000的位置创建预设体对象 GameObject mycubes = Instantiate(cubes,Vector3.zero, Quaternion.identity) as GameObject; //随机的索引号 int index = Random.Range(0,4); //给四个方块设置颜色 for(int i = 0 ; i < 4 ; i++) { //随机到的方块设置成黑块颜色 if(i == index) { mycubes.transform.GetChild(i). GetComponent<SpriteRenderer>().color = SingleClass.Instance().blackColor; } //其他三个方块设置成白块颜色 else { mycubes.transform.GetChild(i). GetComponent<SpriteRenderer>().color = SingleClass.Instance().whiteColor; } } }}
作者:莫新宇
公司:蓝鸥科技有限公司
微信号:M514208625
Sina微博:欣羽馨予
邮箱:moxinyu@lanou3g.com
0 0
- Unity中使用单例类
- Unity中使用WebView
- Unity中使用c++
- mvc中使用Unity
- Unity中使用Protobuf
- Unity中使用FlatBuffers
- 在unity中使用smartfoxserver
- Unity中使用贝塞尔曲线
- unity中Invoke()使用
- 在Unity中使用Direct2D
- 在Unity中使用Direct2D
- 在Unity中使用Direct2D
- 在Unity中使用Direct2D
- 在Unity中使用Shader
- 在Unity中使用射线
- unity 中使用C#6.0
- Unity中使用Protobuf-net
- Unity中XMLParser的使用
- Qt 如何正确的让程序睡眠
- noip2004 FBI树 (树的后序遍历)
- imageSwitcher 图片切换器
- ngrok的使用
- windows环境中mysql忘记root密码的解决办法 (不用mysqld-nt.exe)
- Unity中使用单例类
- Storm+Redis性能优化问题
- Cookies and Servlets
- 强指针和弱指针
- stm32上基于LwIP移植LibArtnet
- Torch 安装过程
- IOS基础UI之(一)简单的qq登录
- CentOS修改时区
- 如何在Mac OS系统下搭建Java开发环境图解