Unity中使用单例类
2015-08-30 18:22
411 查看
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
相关文章推荐
- unity3d制作小地图(MiniMap)的简单Demo
- unity----贪吃蛇详解
- Unity优化大全(十)之 Memory - Mono的托管内存
- Unity3D中Blendshapes之间的过渡方式
- Unity学习笔记—— 常用脚本函数
- Unity Application 前后台切换调用关系
- unity3d游戏开发教程
- unity3d 敌人锥形视角实现的想法
- [软件操作]记一次基于Unity的Profiler性能分析
- [Unity3D]关于Android真机调测Profiler
- ThisRotate 物体旋转 unity3d
- unity3d AI's sight
- 利用unity3d自带的CharacterController包制作第一人称控制模型的简单Demo
- unity3d 定时器的使用
- Unity优化大全(八)之 GPU-Ligh和其他
- unity3d中摄像机父物体与模型碰撞
- unity导弹算法 预计目标点
- Unity优化大全(七)之 GPU-几何体和显存宽带
- Unity优化大全(九)之 Memory - Unity3D内部的内存
- Unity3D 5.1烘培