享受"啪"的按下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. 2018亚洲区预选赛北京赛站网络赛 D.80 Days 尺取

    题面 题意:你带着K元要去n个城市,这n个城市是环形的,你可以选择任意一个起点,然后顺时针走,对于每个城市,到达时可以获得a元,但是从这里离开又需要花费b元,问你能否找到一个起点(输出花钱最少的那个) ...

  2. SwiftUI 官方教程

    SwiftUI 官方教程 完整中文教程及代码请查看 https://github.com/WillieWangWei/SwiftUI-Tutorials   SwiftUI 官方教程 SwiftUI ...

  3. Navcat12 for mysq 激活工具

    Navcat12 for mysq 激活 https://www.cnblogs.com/sunyangCoder/p/9060454.html

  4. 30秒就能理解的JavaScript优秀代码

    数组 arrayMax 返回数组中的最大值. 将Math.max()与扩展运算符 (...) 结合使用以获取数组中的最大值. const arrayMax = arr => Math.max(. ...

  5. java题(转载)

    1.下面中哪两个可以在A的子类中使用:( ) class A { protected int method1 (int a, int b) { return 0; } } A. public int ...

  6. Android入门知识

    1.Android开发环境 Android常用的开发环境包括两个:Eclipse + ADT 和Android Studio,Android Studio作为google官方推出的开发环境自然有得天独 ...

  7. 智能家居控制APPUI界面设计

    2017年,随着智能化产业进入新的市场格局,千家品牌实验室也迎来全新的升级,致力为智能产业生态链提供更全更新更深度的行业分析和品牌数据监测服务.本文为大家带来关于中国智能家居行业发展APP设计欣赏. ...

  8. SQL Server-语句类别、数据库范式、系统数据库组成

      前言 终于等到这一天,我要开始重新系统学习数据库了,关于数据库这块,不出意外的话,每天会定时更新一篇且内容不会包含太多,简短的内容,深入的理解,Always to review the basic ...

  9. Redis入门笔记-redis内部数据结构(01)

    redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...

  10. 「图解HTTP 笔记」Web 基础

    Web 基础 三项构建技术: HTML:页面的文本标记语言 HTTP:文档传输协议 URL:指定文档所在地址 一些概念 HTTP(HyperText Transfer Protocol):通常被译为& ...