享受"啪"的按下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. [源码管理] ubuntu下SVN服务器安装配置

    一.SVN安装1.安装包$ sudo apt-get install subversion2.添加svn管理用户及subversion组$ sudo adduser svnuser$ sudo add ...

  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. tinyxml使用

    1.下载地址 http://sourceforge.net/projects/tinyxml/ 2.tinyxml不仅支持Linux编译,同时也支持windows下编译,由于tinyxml仅有6个文件 ...

  4. logging (日志) 模块

    本文源自景女神 函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.w ...

  5. bind()函数的作用

    bind()函数是Function原型上的一个属性,当某个函数调用此方法时,可以通过向bind()函数传入执行对象和调用bind的函数的参数来改变函数的执行对象 /*问题:改变func执行环境,使之输 ...

  6. 利用JavaScript的%读分秒

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 开发手机APP过程,不同使用场景APP搜索框的样式及区别

    搜索框是 app 内最常见的控件之一,可以帮助用户快速又精准找到期望的内容与功能.不同的使用场景下,根据页面中搜索的重要程度,搜索框也有着不同的样式. 下面就常州开发APP公司和大家聊聊常见的四种样式 ...

  8. Vue 项目打包和上线

    1.把绝对路径改为相对路径 我们打开config/index.js 会看到一个build属性,这里就我们打包的基本配置了.你在这里可以修改打包的目录,打包的文件名.最重要的是一定要把绝对目录改为相对目 ...

  9. 互联网汽车迎新成员 Alibaba YunOS Auto冠名2016世俱杯

    11月18日广州车展现场,阿里巴巴集团再次携手上汽集团连发三款搭载YunOS系统的互联网汽车,包括MG ZS.荣威eRX5和荣威i6.同时阿里巴巴集团YunOS总裁张春晖正式宣布互联网汽车业务全新升级 ...

  10. 阿里云API网关!

    API 网关(API Gateway)提供高性能.高可用的 API 托管服务,帮助用户对外开放其部署在 ECS.容器服务等阿里云产品上的应用,提供完整的 API 发布.管理.维护生命周期管理.用户只需 ...