位置: 编程技术 - 正文

[置顶] Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场!([置顶]游戏名:chivalry2)

编辑:rootadmin

推荐整理分享[置顶] Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场!([置顶]游戏名:chivalry2),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:[置顶]游戏名:chivalry2,[置顶] 纯享版奥义,手机迅雷搜:阿天动漫,[置顶] 此外,车牌号:454118(懂得都懂[doge]),[置顶] chill your life,[置顶] chill your life,[置顶] 纯享版奥义,手机迅雷搜:阿天动漫,[置顶] chill your life,[置顶] cmbwfh,内容如对您有帮助,希望把文章链接给更多的朋友!

林炳文Evankaka原创作品。转载请注明出处

本文将实现用单例模式实现一个英雄飞机类的设计,单例模式是游戏开发中最常用到的一种设计模式,原理也比较简单,仔细研究下就可以掌握好。

来看看效果:

英雄飞机一创建就闪烁3秒 英雄飞机创建后带有喷火的小尾巴动画

Cocos2d-x版本:3.4

工程环境:VS

一、单例模式解析

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。

单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。

UML图:

代码实现

特点:

1. 类的构造函数外界不可访问.

[置顶]
        Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场!([置顶]游戏名:chivalry2)

2. 提供了创建对象的接口.

二、单例模式优缺点

单例模式非常好实现,直接就可以在静态区初始化instance,然后通过getInstance返回,这种就被称为饿汉式单例类。也有些写法是在getInstance中new instance然后返回,这种就被称为懒汉式单例类,但这涉及到第一次getInstance的一个判断问题。

优点

1.减少了时间和空间的开销(new实例的开销)。

2.提高了封装性,使得外部不易改动实例。

缺点

1.懒汉式是以时间换空间的方式。

2.饿汉式是以空间换时间的方式。

三、Cocos2d-x中设计单例模式的英雄飞机

这里我实现了一个单例模式的英雄飞机类,它还带了触摸跟随手指移动的功能,其实就是把Cocos2d-x《雷电大战》(2)-精灵随手指移动,你点哪我走哪! 这里的代码都整合在一起。这样就比较合理,这个英雄飞机类还包含有分数值、血量、攻击值、子弹类型等。这里只是一个粗略实现,后续的功能有可以还会有改动。而且飞机还带有喷火的功能,更加的逼真!这样子代码结构看起来就比较明了,而不会全放在GameMain.cpp中。然后需要创建时直接在GameMain.cpp来调用就行了。

下面来看看代码:

头文件HeroPlane.h

英雄飞机实现类HeroPlane.cpp这里的英雄飞机第一次获取时,会闪烁几下。并且带有喷火的小尾巴(其实就是不断的重复切换两张图片实现的,看上面的帧动画)

使用方法:

每次要取得当前的英雄飞机类,用HeroPlane::getInstance()即可,也就是说每次返回都是同一个实例,所以你就可以保存英雄的分数、血量、攻击值到一个外部的文件中,然后游戏每次启动时,从这个文件读取数据就可以,就可以接着上次的英雄飞机设定的参数了。这些功能我打算留在后头再来实现。

英雄飞机一创建就闪烁3秒 英雄飞机创建后带有喷火的小尾巴动画

林炳文Evankaka原创作品。转载请注明出处

[cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--地图(二) 接上文,添加地图,在地图层直接添加即可,我是将AnchorPoint设置在(0,0),方便计算坐标mapSprite=Sprite::createWithSpriteFrameName(String::createWithFormat(Stage_%d.png,l

Cocos2dx技术(三)——cocos2dx基本概念(四)动作 1、Action类的作用:Action对象可以随时间改变Node的属性,任何一个以Node为基类的对象都持有一个可执行动作的Action对象。2、Cocos2dx里面的By与To的区别By

-----cocos2dx一个都不能死(含源码) 不知不觉今天又这个点了,今天应该早点睡啊。昨天没写东西,就是因为睡得早啊,结果忘了,今天补上,昨天终于把一个都不能死写完了,慢慢弄吧

标签: [置顶]游戏名:chivalry2

本文链接地址:https://www.jiuchutong.com/biancheng/368915.html 转载请保留说明!

上一篇:http://www.2cto.com/kf/201402/280576.html

下一篇:[cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--地图(二)(cocos2dx4.0教程)

  • 利息税怎么算的
  • 个体工商户年报网上申报入口
  • 增值税分录及账务处理如何做?
  • 5个点的税点
  • 一个季度30万是不含税吗
  • 会计记账凭证如何填制
  • 发票章坏了能自己刻吗
  • 小规模增值税的三个附加税计算公式是什么
  • 房产企业因资金问题退市
  • 事业单位利息收入
  • 劳务所得税税率表最新
  • 小企业研发费用科目代码多少合适
  • 商贸公司账目
  • 170平方的房子装修费用
  • 支付的劳务派遣服务费现金流量
  • 货款尚未收到用什么记账凭证
  • 固定资产尚未投入怎么办
  • 增值税专用发票可以开电子发票吗
  • 预缴税款后怎么开票
  • 实时扣税3001会计科目
  • 通讯费补贴如何领取
  • 同业清算互联前置 骗局
  • 集团公司内部无偿借贷增值税
  • 外币折算差额计入什么科目
  • 集团公司收取管理费是否可以税前列支
  • 苹果手机键盘剪切板在哪里打开
  • 全年一次性奖金税率表
  • 个体工商户未给员工缴纳社保
  • win7如何设置高级网卡功能适合玩网络游戏
  • macos big sur如何
  • 实发工资和报税工资
  • 应收票据冲转是什么科目
  • 如何修改自己电脑物理地址
  • won11更新
  • autorun.exe
  • mac桌面的东西怎么放回去
  • 抵债资产账务处理程序
  • 销售费用负担的差异会计分录
  • 设备租赁的方式有哪些
  • 税前弥补以前年度亏损分录
  • 电子税务局购票员变更
  • 代扣代缴应付职工薪酬账务处理
  • 购买承兑的收益会计分录
  • 收回已转销的应收账款是什么意思
  • 成本利润率算出的不含税吗
  • 非贸备案什么意思
  • 供货方代垫运费会计分录
  • opencv python
  • 进程 python
  • python命令行进度条
  • 小规模纳税人怎么开专票
  • 报销替票的风险是什么
  • 个人申请代开发票流程怎么操作?
  • 员工辞退补偿金计算
  • 一般纳税人增值税优惠政策2023
  • 应收票据周转率公式
  • 研发费用加计扣除是什么意思啊
  • 物业公司代收代缴水电费
  • 个税公司少申报一个月会对个人有什么影响
  • 给对方承兑对方不承认怎么办
  • 工业企业辅助生产费用的分配方法
  • SQL Server2005、2008如何彻底删除卸载并重新安装?
  • 控制windows外观和工作方式
  • 高效管理者的三大技能 罗伯特卡茨
  • 用u盘怎么装系统win10
  • win10鼠标指针在文本区很小
  • spoolsrv32.exe - spoolsrv32进程是什么文件 有何作用
  • mac字体发虚解决办法
  • centos fio
  • win1020th2
  • 怎么使用linux命令
  • win8.1无法安装vmware tools
  • 每日一个linux命令
  • cocos2d怎么用
  • window.showModalDialog谷歌不兼容
  • 安卓手机管家怎么关闭
  • jquery动态设置css
  • 山西省国家税务局王旭斌局长
  • 长沙个体户怎么给员工交社保
  • 日常生活中有哪些税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设