当前位置: 首页 > news >正文

内江网站建设0832hdsj域名注册 万网

内江网站建设0832hdsj,域名注册 万网,wordpress 加入代码,个人网站备案可以做博客吗游戏框架: 游戏框架一般包括消息框架,状态机,管理器,工具类。 消息框架指游戏物体之的通信框架,虽然unity引擎自带一套消息框架,但该框架只能用于父子物体之间通信,无法实现大部分非父子关系的…

游戏框架:

游戏框架一般包括消息框架,状态机,管理器,工具类。

消息框架指游戏物体之的通信框架,虽然unity引擎自带一套消息框架,但该框架只能用于父子物体之间通信,无法实现大部分非父子关系的物体间通信。因此我们要在后续自己完成一套消息框架

状态机用于管理每一个物体不同状态,如对于一个人物可能有移动,攻击,死亡等多个状态。使用状态机可以更好进行状态管理和切换

管理器用于完成一个特定游戏功能。如角色管理器,背包管理器,任务系统管理器等

工具类用于封装一些会反复出现的函数或功能,如创建随机数,生成伤害,加密内容等

单例类:

单例只一个类只生成一个对象。一般来说,游戏内容的管理类,如消息管理类,网络管理类都只应有一个对象,这时就要使用单例实现。

游戏中每将一个脚本挂载到一个游戏物体上作为组件时,就会生成一个该脚本类的对象。因此要实现单例必须保证只挂载一个物体

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestMonobehavior : MonoBehaviour
{private static TestMonobehavior instance;public static TestMonobehavior Instance {get {return instance;}}void Awake(){instance = this;}// Update is called once per framevoid Update(){}
}

在该实例中,我们创建一个单例对象instance(一般单例对象常用名)用于给外界访问。并定义一个静态方法用于返回该单例对象。这样外界就可以通过TestMonobehavior.Instance对单例进行访问

我们考虑到一个游戏中可能有多个单例对象(如多个管理类)。因此我们可以编写一个泛型单例类基类,然后让后续的单例类继承该基类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SingletonBase<T> : MonoBehaviour where T : MonoBehavior
{private static T instance;public static T Instance {get {return instance}}protected virtual void Awake(){instance = this as T; }protected virtual void OnDestroy(){instance = null;}
}

这里我们的程序和上面基本一致,只不过将instance设为泛型对象。另外注意以下几点:

public class SingletonBase<T> : MonoBehaviour where T : MonoBehavior

在类定义中,where T : MonoBehavior指泛型T必须是MonoBehavior(unity游戏对象类)子类

protected virtual void Awake()

这里Awake()和Destroy()的方法可能会在子类重写。因此我们将其设为protected权限(不可外部访问,但可以被继承)的抽象方法

对于普通类(非unity脚本),可以使用以下方法实现单例

public class Test : MonoBehaviour
{private static Test instance;public static Test Instance {get {if (instance == null) {instance = new Test();}return instance;}
}

这里我们在Instance方法里先判断instance是否被创建,用于在第一次调用单例方法时创建单例。之后我们就正常使用return instance得到单例对象

http://www.khdw.cn/news/16586.html

相关文章:

  • 北京哪个公司做网站好免费的外链平台
  • 网站优化排名价格开个网站平台要多少钱
  • 购买了域名之后怎么做网站二次感染即将大爆发
  • 茂港网站设计公司外链管理
  • 电商类网站模板下载网站收录工具
  • 网站如何做流量赚钱吗腾讯企业qq官网
  • 做网站得多长时间网站推广app下载
  • 三级做视频网站网站收录入口申请查询
  • 山东阳信建设局网站百度招聘平台
  • 土巴兔装修靠谱吗宁波seo外包优化公司
  • 购物网站建设同城推广平台
  • 沧州网站建设的集成商网络营销推广方案ppt
  • 企业网站建设问题研究百度网盟推广官方网站
  • 海外站推广百度seo软件是做什么的
  • 潍坊模板开发建站打广告在哪里打最有效
  • wordpress延迟加载js品牌seo推广
  • 网站平台搭建怎么弄的百度一键优化
  • 实业有限公司网站怎么做seo优化排名公司
  • php做p2p网站源码优化关键词排名推广
  • 动态网站开发实训课程标准企业营销策划论文
  • 搜狗竞价绑定网站要求seo优化技术培训
  • 安徽网站建设网络公司免费加精准客源
  • 线上投票怎么做北京网络优化
  • 国外设计网站behance打不开搜易网优化的效果如何
  • 数据库修改网站后台密码关键词查询网站
  • 东莞设计制作网站制作暴风seo论坛
  • 安徽省建筑平台信息网新乡网站优化公司价格
  • 网站建设的相关书籍如何使用免费b站推广网站
  • 做组织架构图的网站营销咨询公司排名
  • 软件下载网站哪个好热搜词排行榜关键词