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

肇庆网站开发哪家专业江苏天宇建设集团有限公司网站

肇庆网站开发哪家专业,江苏天宇建设集团有限公司网站,做解密类网站可行,新闻类网站开发多久1、模式标准 模式名称:原型模式 模式分类:创建型 模式意图:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象 结构图: 适用于: 1、当一个系统应该独立于它的产品创建、构成和表示时 2、…

1、模式标准

模式名称:原型模式

模式分类:创建型

模式意图:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象

结构图:

适用于:

1、当一个系统应该独立于它的产品创建、构成和表示时
2、当要实例化的类是在运行时刻指定时,例如,通过动态装载
3、为了避免创建一个与产品类层次平行的工厂类层次时。
4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们,可能比每次用合适的状态手工实例化该类更方便一些。 

2、分析与设计

我们的unitItem经过几种模式的改造,已经变得复杂起来,通过cocos creator 中的instantiate可以克隆指定任何类型的对象,但是直接用有2个缺点不符合我们的设计。第一个是因为在unitItem中我们用享元模式使用了fighter。如果直接用instantiate一个新对象是他拥有的是一个新fighter,并没有共享内存。第二个是因为我们的游戏框架给每个unitItem都设置了个unitId。所以我们还需要原型模式来通过这个clone操作来优化上面2个问题,当然目前大部分工作也还是instantiate完成的。

另外目前抽象工厂方法 xhgame.itemFactory.createUnitItem('abc')创建的单位是一个原胚单位,一些属性需要后期set。通过clone方法可以方便很多。

意图:用原型实例指定创建对象的种类,并且通过复制(clone)创建新的对象

3、开始打造

item

export interface IItem {itemNo: stringreset(): voidclone(): any
}

单位的克隆

export class UnitItem  extends Component implements IItem, IUnitItem {ad: number = 100;mp: number = 0;// 攻击方式fighter: Fighter;private currentState: IUnitState = null;clone(): UnitItem<T> {// 克隆节点let cloneNode = instantiate(this.node);let clonedItem = cloneNode.getComponent(UnitItem)clonedItem.ad = this.ad;clonedItem.mp = this.mp;clonedItem.setFighter(xhgame.flyweightFactory.getFighter('jinchen_futou'))clonedItem.unitId = xhgame.itemFactory.getUnitItemId()return clonedItem;}.....}

4、开始使用


let unitItem = xhgame.itemFactory.createUnitItem('kuloubing')
unitItem.setFighter(xhgame.flyweightFactory.getFighter('jinchen_futou'));let unitItem2 = unitItem.clone()
console.log('是否内存共享Fighter', unitItem.fighter === unitItem2.fighter) // 显示true

http://www.yayakq.cn/news/106317/

相关文章:

  • 东莞哪家网站建设比较好wordpress用户仪表盘如何设计
  • 服饰网站模板网站做镜像的有什么用
  • 用python网站开发中国八大设计院指的是哪些
  • 深圳云购网站制作用wordpress做视频网站
  • 电脑做试卷的网站大型在线网站建设
  • 天河建设网站技术网站可信认证必须做
  • 自己做的网站加载慢的原因网站使用引导
  • 做外贸上什么网站西双版纳网站建设公司
  • 网站建设策划wordpress 全站不刷新
  • 哪些网站可以找到兼职做报表的做网站容易还是app容易
  • 慈溪市建设局网站表格下载模板网站开发推广
  • 优质做网站哪家正规网站优化推广服务
  • 网站制作公司 知道万维科技iis7.0建设网站
  • 网站模板但没有后台如何做网站做网站公司排名是什么
  • 广西庆海建设发展有限公司网站wordpress 分类菜单
  • 深圳网站建设者seo是干什么的
  • 做设计常用的素材网站深圳有几个区分布图
  • 怎样做网站的关键词企业seo排名费用报价
  • 深圳哪个区最好网站在线seo
  • 谷歌seo最好的公司搜索引擎优化的常用方法
  • ajax网站开发典型实例wordpress文章中图片
  • 有了空间和域名 网站容易做吗企业如何在网站做认证
  • 乐山网站营销推广哪家公司好北京网站模板
  • 用dw自己做网站福州正规网站建设公司报价
  • 可以做关键词优化的免费网站wordpress顶部加广告
  • 网站建设小知识html模板免费十个网页
  • 做文字logo的网站新加坡网站大全
  • 网站设计服务要不要交文化事业建设费云主机免费版
  • 国外网站流量查询lookae素材网
  • 如何做免费网站网站开发需要什么设备