享受"啪"的按下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 obstart

    PHP ob_start() 函数介绍 2010-03-29 php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_ ...

  2. 【media-queries】媒体查询,为了响应式设计而生

    目录 简介 语法 常用尺寸 一 简介 针对现在纷杂的设备,css3中加入,可以查询你的浏览类型(screen彩色屏幕, print, all)和css属性判断. 最常用的就是查询屏幕大小,给予适合的展 ...

  3. 大数据查询——HBase读写设计与实践--转

    背景介绍 本项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的不断 ...

  4. JS 经验总结

    1.IE中div的高度是content+padding+border之和,其它的是content的高度 2.一个标签里面只有一个属性,class='cls1 cls2' 3.同一页面不能出现相同的id ...

  5. ComboBoxEdit 添加键值

    ComboBoxEdit combo = new ComboBoxEdit(); var coll = combo.Properties.Items; coll.BeginUpdate(); try ...

  6. poj1149 PIGS 最大流(神奇的建图)

    一开始不看题解,建图出错了.后来发现是题目理解错了.  if Mirko wants, he can redistribute the remaining pigs across the unlock ...

  7. MeayunDB学习笔记(一) MeayunDB介绍及安装

    系列目录   MeayunDB介绍-高性能分布式内存数据库 MeayunDB学习笔记(一)MeayunDB介绍及安装 MeayunDB学习笔记(二)批量导入数据 MeayunDB学习笔记(三)索引应用 ...

  8. 【前端分享】jQuery.lazyload详解(转)

    jQuery实现图片延迟加载,不知道是否可以节省带宽呢?有人知道吗?这究竟只是一个视觉特效还是真的能延迟加载减少服务器的请求呢? <script type="text/javascri ...

  9. 熟悉VS2017 和Github 第二次作业

    GIT地址 https://github.com/Astone1213 GIT用户名  Astone1213 学号后五位  62114 博客地址 https://www.cnblogs.com/AsL ...

  10. 【转】DBSCAN密度聚类算法

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-M ...