helloworld就是一个完整的框架,大致分为四个层次如下:

导演-------场景------图层-----精灵

Director-----Scene----Layer----Sprite

  1. 导演类负责的是全局工作,关键代码主要由系统自动生成。在类AppDelegate中,它主要由三个函数组成,

    bool AppDelegate::applicationDidFinishLaunching() 入口函数
    void AppDelegate::applicationDidEnterBackground() 当前游戏由运行态转入后台运行
    void AppDelegate::applicationWillEnterForeground() 游戏由后台转到前台

    导演类常见的接口有,

    auto director = Director::getInstance(); 初始化,获得导演实例

    auto glview = director->getOpenGLView();

    director->setOpenGLView(glview);

    关联OPENGL

    director->setDisplayStats(true);

    director->setAnimationInterval(1.0 / 60);

    设置FPS,正常值的范围[30,60]

    director->runWithScene(scene);

    director->replaceWithScene(scene);

    设置当前运行的场景

    设置当场景变化时,要显示的新场景

    Director::getInstance()->stopAnimation();

    Director::getInstance()->startAnimation();

    当有其它任务过来时,要暂停游戏

    返回游戏时,重新开始

    pop push 2.0中场景是以栈的形式存储
  2. 场景类一般比较简单,一个导演类可对应多个场景。其实现主要在HelloWorldScene.cpp中,常见的只有初始化,auto scene = Scene::create();,其中不管哪个类的create函数,都会new一个对象,而系统会自动通过语句 ret->autorelease();把它加入到自动释放列表中。
  3. 图层类,实现主要在HelloWorldScene.cpp中,初始化auto layer = HelloWorld::create();通过scene->addChild(layer);把场景与图层关联起来,一个场景可有多个图层。
  4. 精灵类,图层的具体内容又由精灵填充,实现主要在HelloWorldScene.cpp中的bool HelloWorld::init()中,初始化auto sprite = Sprite::create("HelloWorld.png"); 精灵与其它组件都在这个函数中初始化,并设置相应的坐标,最后通过 this->addChild(sprite, 0);语句加到图层上,第二个参数表示在图层中的前后位置,0是背景。

cocos2d-x入门三 分层设计框架的更多相关文章

  1. 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战

    前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo.服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了.同 ...

  2. Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

    标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...

  3. Thinkphp入门三—框架模板、变量(47)

    原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display()   调用当前操作名称的模板 display(‘名字’)  调用指定名字的模板文件 控制器调用模板四种方式 ...

  4. RSF 分布式 RPC 服务框架的分层设计

    RSF 是个什么东西? 一个高可用.高性能.轻量级的分布式服务框架.支持容灾.负载均衡.集群.一个典型的应用场景是,将同一个服务部署在多个Server上提供 request.response 消息通知 ...

  5. 数据库历险记(三) | 缓存框架的连环炮 数据库历险记(二) | Redis 和 Mecached 到底哪个好? 数据库历险记(一) | MySQL这么好,为什么还有人用Oracle? 面对海量请求,缓存设计还应该考虑哪些问题?

    数据库历险记(三) | 缓存框架的连环炮   文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3n ...

  6. Android源码分析(三)-----系统框架设计思想

    一 : 术在内而道在外 Android系统的精髓在源码之外,而不在源码之内,代码只是一种实现人类思想的工具,仅此而已...... 近来发现很多关于Android文章都是以源码的方向入手分析Androi ...

  7. Thrift笔记(二)--Thrift框架分层设计

    thrift架构设计使用了分层设计,类似TCP/IP分层,上次使用下层提供的服务.分层设计在计算机中是一个常用的设计,上层和下层定义好接口或者说协议,下层实现可以随意更换,只要实现好定义的接口和协议就 ...

  8. ABP分层设计

    ABP分层设计 一.为什么要分层 分层架构是所有架构的鼻祖,分层的作用就是隔离,不过,我们有时候有个误解,就是把层和程序集对应起来,就比如简单三层架构中,在你的解决方案中,一般会有三个程序集项目:XX ...

  9. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

随机推荐

  1. access join形式删除数据

    --注意distinctrow关键字 delete distinctrow a.* from aa a inner join bb b on a.id= b.id  

  2. Spring-ApplicationContext容器

    Spring ApplicationContext容器 ApplicationContext是spring中比较高级的容器.和BeanFactory类似,它可以加载配置文件中定义的bean,并将所有b ...

  3. 安全篇:弱密码python检测工具

    安全篇:弱密码python检测工具 https://github.com/penoxcn/PyWeakPwdAudit

  4. java-mybaits-00501-案例-映射分析-订单商品数据模型

    1.数据模型分析思路 1.每张表记录的数据内容          分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程. 2.每张表重要的字段设置          非空字段.外键 ...

  5. ACM零散知识

    定理与方法专区: 1.两点间的曼哈顿距离如果为偶数,那么两点间可以走偶数步到达 2.求小于等于n 的素数的个数.(即欧拉函数) 100=(2^2)*(5^2)    num[100]=(2+1)*(2 ...

  6. strtok - 详细示例解析

    定义: Defined in header <string.h> 原型: char strtok( char str, const char *delim ); 参数: 2个都是字符串(以 ...

  7. 专项训练知识点与错题整理-nowcoder-c++

    1- 来自:http://www.cskaoyan.com/thread-595813-1-1.html 1.拷贝构造函数 转自:https://www.cnblogs.com/alantu2018/ ...

  8. 模块讲解----random模块(随机取值)

    导入random模块 import random #查看random的帮助: # help(random) #随机浮点数: #用于生成一个0到1的0 >= n < 1.0的范围值 prin ...

  9. mysql数据库从删库到跑路之mysql库操作

    一 知识储备 MySQL数据库基本操作知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student, ...

  10. php now 5.2 升级5.3

    简单说明 在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择. PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22,PHP5. ...