享受"啪"的按下Enter的快感。 (by云风)

cocos2dx是不是个toy引擎,不同的人有不同的看法。可是你不得不承认它非常受欢迎。好多非常火的手游使用的就是cocos2dx,比方我叫mt。我自己工作中,也有多个项目使用了这个引擎。

我之前没写过关于cocos2dx的文章,自己也没有系统地学习过。如今。我打算写一些这方面的文章,通过写blog来又一次梳理下cocos2dx的知识。这也是写blog的一个优点。


Director
游戏是具有交互性的电影。把制作游戏看成是拍电影的话,Director类就是游戏的总导演。管理着游戏的场景切换,控制游戏元素,屏幕尺寸的获取。这个类被设计成单例。

Scene
一个游戏至少得有一个场景,因此,Scene是不可缺少的。
Director控制场景的方法:
  • runWithScene:启动游戏,并执行该场景。
  • pushScene:将正在执行的场景暂停并压栈,显示传入的场景。官方说仅仅有存在正在执行的场景时才调用该方法,但我用cocos2d-x-2.2.5版本号试了下。将第一个场景使用该函数而不是runWithScene,还是能够正常执行的。

  • popScene:与pushScene相应。

  • replaceScene:切换场景最经常使用的方法。尽管会释放之前的场景,但你的内存必须同一时候足够容纳下正在执行和将要执行的场景。

    由于他是载入完传入的场景后才释放的。

Layer
Layer是处理玩家事件响应的Node子类。

Sprite
Cocos2d中的精灵和其它游戏引擎中的精灵相似。它能够移动,旋转,缩放,运行动画。并接受其它转换。

使用Texture2D载入图片。能够用Texture2D生成相应的SpriteFrame(精灵帧),将SpriteFrame加入到Animation生成动画数据,用Animation生成Animate(就是终于的动画动作),最后用Sprite运行这个动作。


scheduler
开发中通经常使用到三种调度器:
schedulerUpdate:默认没有启用。通过运行schedulerUpdate()调度器每帧运行 update方法,假设须要停止这个调度器。能够使用unschedulerUpdate()方法。每一帧都运行。
scheduler:取消该调度器能够用unschedule(SEL_SCHEDULE selector, float delay);因为引擎的调度机制,自己定义时间间隔必须大于两帧的间隔。否则两帧内的多次调用会被合并成一次调用。所以自己定义时间间隔应在0.1秒以上。
schedulerOnce:比如,scheduleOnce(schedule_selector(HelloWorld::updateOnce), 0.1f);


初识cocos2dx——入门第一篇的更多相关文章

  1. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  2. Flink入门-第一篇:Flink基础概念以及竞品对比

    Flink入门-第一篇:Flink基础概念以及竞品对比 Flink介绍 截止2021年10月Flink最新的稳定版本已经发展到1.14.0 Flink起源于一个名为Stratosphere的研究项目主 ...

  3. Zookeeper 入门第一篇

    转载原文地址: ZooKeeper学习总结 第一篇:ZooKeeper快速入门 ZooKeeper学习总结 第二篇:ZooKeeper深入探讨 ZooKeeper学习第一期---Zookeeper简单 ...

  4. JavaMail入门第一篇 邮件简介及API概述

    现如今,电子邮件在我们的生活当中扮演着越来越重要的角色,我们每个人几乎都会与其打交道(至少时不时我们都会接收到莫名其妙的垃圾邮件),在工作中,使用邮件进行交流沟通,可以使我们的工作有迹可循,也显的较为 ...

  5. flask入门第一篇

    一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...

  6. cocos2d-x入门学习篇;切换场景

    手机游戏开发最近很火爆,鉴于一直在学习c++,看起来上手就比较快了.这篇文章来自皂荚花 cocos2d-x技术,我把我的想法分享给大家. 首先来看一段代码: CCScene* HelloWorld:: ...

  7. Android JNI入门第一篇——HelloJni

    android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...

  8. NLP初试牛刀,NLTK入门第一篇

    之前下载过一个PDF,书名是<用python进行自然语言处理>,挺有意思的,加上NLP和机器学习目前大热,想趁着暑假涉猎一下.于是开始了入门NLP之旅. 安装环境:Ubuntu14.04桌 ...

  9. WWF3入门<第一篇>

    工作流是什么东西?暂时还不是很弄得清除. 工作流是用来解决什么问题的?暂时只是形成了一个很模糊的概念,还没办法用语言描述出来. 一.入门范例 以VS2008为例,先来创建一个WWF程序. 在工具箱中, ...

随机推荐

  1. php模版静态化原理

    看了一些开源系统的,简单的总结一下php的模板及静态原理. 先贴代码,再做解释. index.php <?php //如果已存在静态页面,直接读取并显示 if(file_exists('inde ...

  2. 26. Remove Duplicates from Sorted Array[E]删除排序数组中的重复项

    题目 Given a sorted array nums, remove the duplicates in-place such that each element appear only once ...

  3. linux install PyMsql

    # 安装pip curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py # 安装PyMysql pip in ...

  4. 10.2&10.3 Xcode开发包

    10.2开发包下载链接 10.3开发包下载链接 Finder打开后,按command+shift+G前往这个地址: /Applications/Xcode.app/Contents/Developer ...

  5. Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息

    本文主要介绍了Android项目集成百度地图API,使用AlarmManager定时调用Service,在Service中请求坐标更新,并通过坐标得到省.市和县三级地理位置信息的方法. 程序结构很简单 ...

  6. (转载)RxJava 与 Retrofit 结合的最佳实践

    RxJava 与 Retrofit 结合的最佳实践 作者:tough1985 感谢 DaoCloud 为作者提供的 500 RMB 写作赞助: 成为赞助方 /开始写作 前言 RxJava和Retrof ...

  7. sql server<> != 从数据类型varchar转换为numeric 时出错

    sql server 数据类型转换出错 字段percentcomplete 是 varchar 类型, 都是存的数字 用 where cast(percentcomplete as numeric(1 ...

  8. 【Oracle】DBA_AUDIT_TRAIL表SES_ACTIONS字段对应的操作列表

    SES_ACTIONS字段共包含16个字符,初始状态都为“-”,当被审计的对象被操作后,SES_ACTIONS会在相应的位置作出标识,标识为“S”的代表操作成功,标识为“F”的代表操作失败,16个位置 ...

  9. 查看linux机器cpu、内存环境信息

    2C2G,4C4G,8C16G,16C32G 这里C指cpu物理核数,G指总内存大小 # 查看物理CPU个数 cat  /proc/cpuinfo| grep "physical id&qu ...

  10. 关于《Python核心编程》第2版和第3版

    关于<Python核心编程>第2版和第3版 以前开始学Python的时候,根据某大神的建议买了本<Python核心编程>第2版,慢慢学习.而最近回家没带书回来,刚好JD有活动, ...