位置: 编程技术 - 正文

cocos2dx3.2 整体概览(三)—— Scene(场景)(cocos2dx4.0教程)

编辑:rootadmin

推荐整理分享cocos2dx3.2 整体概览(三)—— Scene(场景)(cocos2dx4.0教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx4.0教程,cocos2dx官方教程,cocos2dx4.0入门,cocos-2dx,cocos2dx4.0入门,cocos2dx4.0入门,cocos-2dx,cocos2dx4.0入门,内容如对您有帮助,希望把文章链接给更多的朋友!

上一节中对导演有了初步的认识,而导演只是控制好游戏的流程,具体游戏的内容却需要开发者去布置好一个一个的场景。因此在学习的过程中,我们有必要了解场景。

由于自建工程后自动生成了HelloWorld,从程序中我们知道,默认运行的场景就是HelloWorld:

因此,我们可以直接通过自动生成的HelloWorld来了解怎么设计一个场景。

首先,可以看一下HelloWorld的头文件中对于HelloWorld这个场景类的声明:

其实对于这个我已开始很奇怪,因为他既然是HelloWorld这个场景,他干什么继承的是Layer(层),为什么不直接继承Scene(场景),于是只好了解一下其中的函数。

首先,对于第一个函数:

这个静态函数的功能很明显,就是创建一个场景。导演所调用的场景就是HelloWorld类调用该函数创造的。该函数的创建过程很简单,只有四句话:

这四条语句非常简单。创建场景 → 创建层(由于HelloWorld继承自层,这里创建的层就是他自己) → 将该层添加到刚创建的场景中 → 返回该场景。

通过这个可以想到,新创建的scene为这个场景渲染树的根节点,他只有一个子节点,就是HelloWorld这个层。而在初始化添加节点是,往往都是this->addChild,因此,新添加的节点最多只能是HelloWorld这个层的儿子,不可能成为scene的儿子(当然,如果刻意你刻意的话……)。我猜测,或许这就是不直接继承场景的目的。

然后,关于下一个函数:

从名字上,可以知道他是该层初始化的函数,具体过程,注释写的非常清楚,这里不做赘述。

cocos2dx3.2 整体概览(三)—— Scene(场景)(cocos2dx4.0教程)

而另一个函数:

是关闭按钮的回调函数,在初始化init中,添加了一个关闭按钮:

该函数,就是当游玩者点击关闭按钮时所触发的事件。

最后出现了一个宏定义的函数:

看一下他的实现,可以知道,这个的功能是为特殊类型,这里是Layer类型(HelloWorld正继承自他),定义create函数。就是在createScene中HelloWorld调用的create函数:

查看该宏定义的实现:

可以知道,这里相当于声明了一个create函数,返回类型__TYPE__,就是传入的&#;(HelloWorld)。该函数的实现很简单,首先创建该类型的实例:

这里相当于:

然后判定该实例指针是否存在,不存在就释放指针:

然后返回空:

存在的话就调用该实例的init函数,进行初始化,如果初始化进行顺利,则设置该指针自动释放并且返回该指针:

这就是创建Scene的一个基本的框架,实际上很容易理解,我们只要在init中完成对场景的初始化,导演再去调用该场景时,我们所部署的场景就会展示在我们面前。

《三眼仔的突围战》Android射击游戏首发时日庆 全力阻挡住敌军,你方可生存《三仔的突围战》Android动作游戏是快开客的又一创意力作,玩家通过虚拟按键控制主角攻击靠拢而来的敌人,当Kill数达到

[置顶] 《戳洞洞》Android休闲奇葩游戏,正式上市啦! 《戳洞洞》Android坑爹游戏,游戏中玩家只有戳到洞,才能得分,其余任意不准确的戳的动作都会导致游戏失败,正确的预估距离将会是很好的游戏的保

手机游戏开发工程师培训教程 手机游戏开发工程师培训教程我分享一套系统性学习手游开发的课程,能让你完整的学习手游开发,并且配套有几个企业实战的项目咨询QQ:课程

标签: cocos2dx4.0教程

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

上一篇:Android学习之surfaceview(一)(android substrate)

下一篇:《三眼仔的突围战》Android射击游戏首发时日庆(三眼仔啥意思)

  • 财政部监制的收据可以手写吗
  • 网银制单了没有审核有影响吗
  • 机动船舶缴纳车船税吗
  • 房地产企业融资存在的问题
  • 委托加工继续生产增值税计入成本吗
  • 上级拨付的固定资产增加类型是什么
  • 财务报表有哪些局限性
  • 汇算清缴需要准备哪些数据
  • 电子承兑汇票如何拆小
  • 预缴增值税附加税怎么算
  • 已认证抵扣的发票如何红字信息表
  • 环评费用包括哪些
  • 财务费用手续费有哪些
  • 生产的产品不合格作废会计分录
  • 辅助生产交互分配后的实际费用应在进行分配
  • 下个月的发票可以报销上个月的费用吗
  • 半月的发票未认证能用吗
  • 房屋出售缴纳税种
  • 合伙企业的所得税政策
  • 没有成本票如何做账
  • 政府补助怎么开票入账
  • 提示涉税风险该怎么弄
  • 生活支出计入什么科目
  • 外籍人员来华工作
  • 工资薪金与年终奖筹划
  • 新个税法规定的专项扣除包括住房公积金
  • 公司为职工缴纳的医保不计入账户吗
  • 升级声卡驱动后声音禁用了怎么恢复
  • 电脑显示器模糊不清晰是什么原因
  • php导出数据到excel
  • 商场外面的广告牌什么位置好
  • 房东压我押金怎么办
  • 冷车启动缺缸热车正常已解决
  • 小微企业所得税怎么算
  • 工人工资怎么算
  • ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)
  • 去年买的设备今年入固定资产如何做账
  • 更改税种需要哪些资料
  • 资产负债表利润表的勾稽关系
  • 合宙air32f103 stlink
  • 稽查补缴以前年度的社保
  • input输入框非空验证
  • 数据挖掘期末考试大纲
  • 网络命令traceroute
  • 代理进口业务应纳的关税
  • 什么经营范围可以开门票发票
  • 一直暂估原材料有什么风险
  • 恢复从回收站已经清除的文件
  • 公司两个股东变更为一个股东,需要交税么
  • 补贴收入是否交印花税
  • 公司维修费计入什么科目
  • 科目汇总表借方和贷方相等吗
  • 应交税费应交增值税进项税额在借方
  • 咨询服务公司的经营范围
  • 新开的公司税务那边要办什么
  • 代别人公司发工资是工资薪金还是劳务报酬
  • 企业出现有利润的现象
  • 公司不注销有什么影响吗
  • 固定资产折旧算现金流入吗
  • 新成立的公司需要年检吗
  • 施工企业应收账款确认依据
  • mysql8.0无法启动
  • solaris newfs
  • 启用5g后流量有什么影响
  • centos coreos
  • ubuntu系统安装报错
  • 远程关机对话框怎么打开
  • Unity3D游戏开发基础
  • jquery1
  • 用javascript写表单代码
  • js特殊字符有哪些
  • 盗梦英雄限时占卜顺序
  • bootstrapcdn
  • android 实例教程
  • 国税局定额发票查询
  • 税务稽查总队
  • 什么叫发票信息对比
  • 给税务局说明怎写
  • 税务登记办法细则
  • 税务征收社保费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设