位置: 编程技术 - 正文

cocos2dx单场景和多场景的生命周期(cocoscreator场景切换)

编辑:rootadmin
cocos2dx单场景和多场景的生命周期单场景周期 流程图:Created with Raphaël 2.1.2开始HelloWorld::init()HelloWorld::onEnter()Hellowrld::onEnterTransitionDidFinish()结束

推荐整理分享cocos2dx单场景和多场景的生命周期(cocoscreator场景切换),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx怎么用,cocos2dx schedule,cocos2d rpg,cocos2dx schedule,cocos场景切换,cocos2dx场景切换,cocos2djs,cocos2djs,内容如对您有帮助,希望把文章链接给更多的朋友!

其中,init()是初始化操作,创建HelloWorld工程自动生成的。onEnter()和onEnterTransitionDidFinish()则是Node类里面的虚函数在Layer子类里面实现的。其中,前者是进入层时调用,后者是过度动画结束后开始调用。若要加载音乐应该在onEnter()里加载。

多场景周期

cocos2dx单场景和多场景的生命周期(cocoscreator场景切换)

多场景的生命周期中,单个的周期同上,在场景切换的时候有三种情况。A场景即HelloWorld,B场景即GameSet。

用pushScene()方法从A场景跳转到B场景

流程图:

Created with Raphaël 2.1.2开始GameSet::init()HelloWorld::onExitTransitionDidStar()GameSet::onEnter()HelloWorld::onExit()GameSet:onEnterTransitionDidFinish()结束用replaceScene()方法从A场景跳转到B场景 流程图:Created with Raphaël 2.1.2开始GameSet::init()HelloWorld::onExitTransitionDidStar()GameSet::onEnter()HelloWorld::onExit()GameSet:nEnterTransitionDidFinish()Helloworld::cleanup()结束用popScene()方法从B场景跳转到A场景 流程图:Created with Raphaël 2.1.2开始GameSet::onExitTransitionDidStar()GameSet::onExit()GameSet::cleanup()HelloWorld::onEnter()Helloworld:nEnterTransitionDidFinish()结束

内存的调度都是穿插在一起的,并不是严格意义上的一个场景完全结束后才开始调用另一个场景,因此内存可能在某个瞬间会出现一个很高的峰值,原因就是对于场景的初始化在这几个函数里面没有合理安排而导致的。所以,为了提高游戏的性能防止内存的泄露要分配好初始化和释放的时间和地点,直观点说就是选择是在init里初始化还是onEnter里还是onEnterTransitionDidFinish里,释放同上。例如,游戏要重新开始,要从结束场景转到开始的场景,可以把背景不变的元素放到init里,而把像分数、装备和状态等放到onEnter里,这样在第三种情况之前,可以释放onEnter里面的初始化,以减少内存的开支。

新手学cocos2dx,centos7下的安装过程 背景打算学写游戏,新手向,当然从cocos2d-x开始.看了cocos的文档,安装是针对ubuntu的,这里记录下centos7上安装、编译、运行测试的过程。如果你已经有u

cocos2dx tableview基础:实现多图片的滑动显示 通过tableview实现滑动显示个字母图片,点击图片执行相应的动作。tableview需要继承TableViewDataSource(数据源),TableViewDelegate(触屏事件处理),同时实

cocos2dx3.2 android平台APK打包 前一篇文章已经说明了如何使用eclipse调试程序,今天就来简单说明下如果打包成apk打包方法很简单,我这里分为有两种方法一:使用eclipse打包当你的程

标签: cocoscreator场景切换

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

上一篇:quick cocos2dx lua 网络图片 下载

下一篇:新手学cocos2dx,centos7下的安装过程(新手学做ppt)

  • 车辆购置税计算器公式
  • 工资社保缴纳计算器
  • 银行转账支付计入什么科目
  • 如何做固定资产卡片
  • 餐饮发票数量单价必须填吗
  • 增值税和个人所得税都要交吗
  • 季度盈利可以弥补以用以前年度亏损弥补
  • 定期定额户个人所得税怎么申报
  • 生产经营行业
  • 驻外人员医保报销
  • 关于公司食堂的文案
  • 企业自行出版的报刊费用可否认证抵扣?
  • 五证一户什么意思
  • 递延所得税费用为负数是什么意思
  • 旅游服务费可以抵扣增值税
  • 软件企业怎么享受三免两减半
  • 向境外企业付外汇
  • 年终汇算清缴怎么计算
  • 土地收储的含义
  • 高新技术企业取消认定
  • 企业有哪些资金结构
  • 电脑不支持cpu
  • 手动滑屏怎么操作
  • Win10 Build 19043(21H1最新版)即将推送 更新内容汇总
  • scanserver.exe - scanserver是什么进程 有什么用
  • window102020年最新版本
  • 代扣代缴个税手续费
  • 押金少退侵犯了哪条法律
  • 公司收入没有进项税额
  • 免征税费需要申报吗
  • 固定资产转卖怎么开票
  • 预提费用新会计准则叫什么科目
  • 增值税申报表上期留抵税额怎么填
  • 损益类科目资产增加在借方还是贷方
  • electron开发的应用程序
  • 出售子公司股权不丧失控制权
  • 服务类收入确认
  • 投资公司如何注册勘察设计工程师证书
  • 法院判决后的利息
  • phpcms数据库文件
  • 高新企业做账有什么不同
  • 其他应付款怎么做账
  • mongo删除数据库命令
  • 预付账款购进原材料怎么做账
  • 综合保税区可以随便进出吗
  • SQL2005 provider: 命名管道提供程序 error: 40 无法打开到 SQL Server 的连接
  • 出纳与会计现金的区别
  • 企业计提坏账准备形成可抵扣暂时性差异
  • 我国流转税有哪些
  • 红冲调整什么意思
  • 工会经费可以在以后年度扣除吗
  • 应付账款怎么做平
  • mysql macbook安装教程
  • Navicat for MySQL(mysql图形化管理工具)是什么?
  • Mysql 1864 主从错误解决方法
  • win7关闭窗口的方式有哪些
  • linux中字符设备有哪些
  • 微软2021年新系统
  • win10升级失败怎么办
  • 系统干净启动
  • opengl程序
  • shell脚本case语句判断成绩
  • javascriptz
  • js实现组件功能
  • python的删除
  • 不宜用于
  • 批处理中copy怎么用
  • 监控网站是否可以删除
  • python向csv写入数据
  • jquery写下拉框
  • 安卓自定义app
  • 装饰装修公司需要什么
  • 上饶市国家税务局各县区办公楼修缮
  • 房屋维修是什么职业
  • 厦门增值税发票查验
  • 国家税务总局南京市秦淮区税务局纳税服务中心
  • 关于税收的问题及答案
  • 耕地占用税是土地增值税扣除项目吗
  • 法治税务建设工作思路
  • 福建是高原还是平原
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设