位置: 编程技术 - 正文

[置顶] 【零起步开发Cocos2dx-3.x-王牌飞行员(二)】从程序的层次结构说起(置顶的朋友圈屏蔽的人能看到吗)

编辑:rootadmin

推荐整理分享[置顶] 【零起步开发Cocos2dx-3.x-王牌飞行员(二)】从程序的层次结构说起(置顶的朋友圈屏蔽的人能看到吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:置顶的朋友圈是所有人可见吗,置顶折叠怎么设置,置顶通知要开启吗,置顶朋友圈,置顶朋友圈怎么设置,置顶的朋友圈屏蔽的人能看到吗,置顶的朋友圈屏蔽的人能看到吗,置顶的朋友圈屏蔽的人能看到吗,内容如对您有帮助,希望把文章链接给更多的朋友!

------

原创博客,转载请注明出处: 在开发游戏之前,我们需要理清楚一些游戏的层次关系,虽然Cocosdx具有强大的跨平台特性,但是多了解一些底层的机制肯定不会有坏处。在新创建一个cocos2dx的项目以后,我们会发现,项目文件夹是这样的。

图片最上方的cocos2dx命令是利用cocos内建命令创建,其中-p指定的是项目的包名,-l指定的是项目的开发语言,最后指定项目名称,这样一个cocos2dx项目就创建了。在这个目录结构中,对于开发期间,最频繁使用的是Classes和Resources。在Classes里是我们编写的cpp文件和h文件,在Resources里是项目中所涉及到的资源文件。

说到这里,为了后续流畅的开发,不得不提一下cocos2dx程序的层次结构。首先,在最顶层的是Director,这是一个单例类,掌管着一些宏观上的游戏数据。在Director下面是Scene,Scene顾名思义是场景,比如游戏的开始界面,游戏界面,结束界面,这些都是不同的游戏场景。Scene下面是Layer,Layer是图层的意思,就是在同一个场景中,如果有多个物体同时出现,那么在一个图层上显示将会相当的混乱,因此引入图层的概念,通过层,将不同层的对象隔离开,分开处理,大大降低开发难度。最底层是Sprite,Sprite是游戏中最基础的元素,很多动作真正的实施者都是Sprite。

[置顶]
        【零起步开发Cocos2dx-3.x-王牌飞行员(二)】从程序的层次结构说起(置顶的朋友圈屏蔽的人能看到吗)

在本次开发中,我将各个Layer也设置为单例类,因为各个场景之间几乎没有公用的Layer,设置成Layer能减少程序出错的机会,并且使程序结构更加整洁。并且,在本次开发中,所有CPP类仅仅描述至Layer层,所有的Sprite都是在Layer中间直接声明的默认Sprite对象,而并非去继承Sprite类,这一切都是为了游戏能够简化,降低开发难度和出错概率。

这是目前本次项目的Classes文件夹中的内容,每个cpp文件中只包含一个同名类,这样保证了目录的清晰性。

下面简述一下各类的用途:

AppDelegate: 程序入口,初始化Director类的参数,场景构建,布景层挂载BulletLayer: 子弹层,用批量渲染技术加载子弹并维护子弹数据BulletUserData: 子弹数据EnemyLayer: 敌机层,加载敌机并维护敌机数据,检测敌机与子弹、敌机与我机及碰撞,并且调用对应接口EnemyUserData: 敌机数据GameBackgroundLayer: 布景层,实现地图加载,循环滚动PlaneLayer: 飞机层,渲染飞机动画,响应用户滑屏操作PlaneUserData: 飞机数据UFOLayer: 不明飞行物层,目前用于投放武器加强的buff和大招buffUFOUserData: 数据记录类,用于记录gift的类型

现在开始,分析一下系统自带的Helloworld程序的系统层次,在系统自带的Helloworld中,蕴含着一个很绕的逻辑关系,至今我也没发现这么设计有什么好处,我们先来看一下头文件:

该Helloworld程序跑起来以后是这样的,Director -> scene -> layer ->sprite。但是Helloworld程序的调用步骤是这样的:初始化Director -> 利用layer的static函数构造一个scene -> 初始化layer -> sprite。 这么做会感觉逻辑比较绕,于是我就想了一个简单清晰的架构,直接由Director初始化scene,由scene初始化layer,由layer初始化sprite。这也是今后整个游戏框架的编写策略,这样从上至下地写,逻辑很清楚,不会乱。好了,这一篇的废话有点多了,下一篇开始要上干货了!

--------------------------------------------本系列的博客的作品都会开源在github上: , 时时更新,欢迎大家star和fork,谢谢捧场!某一关的测试视频demo:

Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer 前言:在很多的游戏里(特别是RPG游戏),一开始都会有一个关于操作的介绍,几乎都像下图那样子的。除了系统希望你所点击的区域外,其余区域都

qt+creator 轻松搭建cocos2dx开发环境 一、安转cocos2dx1.下载cocos2dx3.3final复制到home并解压得到cocos2d-x-3.3文件夹,2.进入cocos2d-x-3.3/build/,为install-deps-linux.sh添加运行权限chmodxinstall-deps-linux.sh,

Cocos2dx3.2编写常用UI组件(二)滚动计数器NumberScroller 前言:废话不多说,先看最终效果图正文:1、使用说明:①引入头文件NumberScroller.h②用NumberScroller::create(intlength,intfontSize)函数来创建NumberScroller对象③

标签: 置顶的朋友圈屏蔽的人能看到吗

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

上一篇:coco2dx 中常用的宏定义(cocos2d怎么用)

下一篇:Cocos2dx3.2编写常用UI组件(一)新手指导框GuideLayer(cocos2dx schedule)

  • 首付款计提税金吗
  • 税金及附加主要分析
  • 期间费用明细表中的各项税费是指什么
  • 税费四舍五入的怎么做帐
  • 当月减少的固定资产当月停止折旧
  • 企业所得税表中营业成本包括费用吗
  • 建筑业营改增前后区别
  • 权益法下被投资企业净资产增加
  • 菜场摊位租赁合同
  • 贷款利息进项税额转出
  • 补发工资计算公式
  • 社保计入管理费用还是成本
  • 对方电子承兑发出多长时间可以到账
  • 出售股份是利好吗
  • 出口退税为0的产品明细
  • 零售业税率多少?如何交?
  • 营改增后建筑业
  • 季度申报所得税是按累计上缴吗
  • 进项虚假怎么处理
  • 三废一览表
  • 酒店服务行业电费发票怎么开
  • 一般纳税人怎么查询
  • 采购发票主要包括什么可以根据什么单据流转生成
  • 负债清偿损益明细表可以0报么
  • 红利抵免的用法是什么
  • 应税消费品用于连续生产应税消费品的
  • 核销坏账应具备的条件
  • 证券资金利息
  • 一次性计提折旧的政策
  • 高新技术企业的税收优惠政策
  • 收购子公司股权现金流
  • 怎么用老毛桃u盘装win7系统 老毛桃u盘装win7系统教程图解
  • win11专业版网卡安不了
  • win10系统多任务功能的快捷键
  • 员工自己垫付的费用怎么走账
  • 个别报表内部交易
  • Content-Disposition使用方法和注意事项
  • 取得增值税发票的认证期限是多久?
  • 旺阿雷自然保护区里的旺阿雷瀑布,新西兰北岛 (© Nathan Kavumbura/Getty Images)
  • 数字孪生demo
  • 核定征收的企业注销需要缴纳个人所得税吗
  • thinkphp怎么用
  • 企业的存货采用计划成本核算的,在资产负债表日
  • 人人都能用英语pdf下载
  • cmd more命令
  • 租入商铺
  • 在售楼部帮客户卖房犯法吗
  • python线程和协程
  • 小微企业的税收优惠政策2023
  • 税控服务费减免会计分录
  • 两处取得工资薪金如何申报
  • 产品研发项目管理 系统 国外
  • 建筑发票开具与土增税扣有什么关系?
  • 计提五险一金如何做分录
  • 分支机构属于小型微利企业吗?
  • 公司房屋租赁协议
  • 计提人工成本会计分录
  • 建筑业简易征收税率5%
  • 明细账怎么订起来
  • 公司现金收入存入私人老板账户
  • 隔离模块与隔离模块如何连接?
  • win10系统电脑如何共享
  • win10的安装目录在哪
  • 通用pe工具箱安装win7
  • 笔记本电脑bios更新
  • 打开win七
  • vps安装centos
  • owmngr.exe - owmngr是什么进程 作用是什么
  • Win7/Win8.1/Win10命令行配置静态IP地址方法
  • 极限竞速中心应用程序
  • 2016年首个国家安全教育日
  • linux内存耗尽怎么解决
  • css table-cell
  • jsonp如何解决跨域问题
  • android 设置背景
  • android:padding="10dp"
  • javascript函数如何定义及其作用
  • 国家税务局总局官网
  • 电子税务局在手机上能登录吗
  • 常设机构怎么缴纳所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设