Cocos2d-x
nothing
懒
展开
-
游戏基本概念
------ 学习笔记做过游戏开发的都很熟悉一些基本概念:流程控制,场景,层,精灵,动作,节点和节点渲染树。 游戏常见的流程包括游戏启动,主界面,游戏场景,设置,帮助。玩家通过和游戏界面交互从而完成不同界面的切换,体验整个游戏流程。 不同的场景组成了一个游戏,就像一部电影需要取很多个场景。场景之间的切换就是游戏流程,一个场景可以包含多个层,层是透明或半透明的容原创 2016-04-27 19:23:08 · 1231 阅读 · 0 评论 -
动画,场景,声音
动画是多个独立的图片按时间顺序呈现出来的动画效果。由于需要保存每一帧图片,所以体积比较大,制作成本与播放成本比较高,对硬件性能要求较高,故不推荐在游戏中大量使用。引擎切换纹理成本比较高,所以会将所有图片合成同一个纹理上,精灵根据需要截取不同位置的纹理图片,避免了切换纹理带来的开销。使用Texturepacker工具可以很方便的合图。CCSpriteframe: 框帧,包含纹理和一个矩形区域原创 2016-05-05 14:52:46 · 564 阅读 · 0 评论 -
动作
CCAction是动作基类,它创建的对象代表一个动作,作用于CCNode。CCAction实质就是一个接口,它的大多数实现累都派生自CCFiniteTimeAction,这个类定义了有限时间内可以完成的动作。CCFiniteTimeAction派生两个主要类 瞬时动作CCActionInstant 和 持续性动作CCActionInterval。 瞬时动作瞬间完成,可以和其他动作原创 2016-05-05 14:45:52 · 426 阅读 · 0 评论 -
游戏基本元素2
cocos2dx里坐标系分为两种1. 绘图坐标系,以左下角为原点,和opengl采用的坐标系一样,相右为x正方向,相上为y正方向。2. 纹理坐标系,以只有精灵从纹理中截取图片时使用。 contentsize,对于精灵来说它常指纹理图片的大小,对于层来说一般指屏幕大小。锚点在父节点中的坐标其实相对于父节点的左下角来说的。 ccnode会每一帧都执行,update方原创 2016-05-05 14:45:26 · 636 阅读 · 0 评论 -
游戏基本元素1
CCDirector,导演类,控制游戏流程,对游戏进行整体设置。 在游戏最后一个初始化方法applicationdidfinish里创建,ccd::shareDirector(),并对游戏进行设置,如设置游戏视图,设置游戏尺寸,深圳游戏最高帧率,运行游戏场景。作为一个全局性的控制对象,自然被设计单例模式,在游戏任何地方都可以通过ccd::shareDirector访问到。原创 2016-05-05 14:44:43 · 773 阅读 · 0 评论 -
cocos2dx开发环境搭建
学习笔记-------------------------- 一,在Mac环境下 1. 需要工具:cocos2dx 2.2.6 包,android-ndk-r9c,,jdk 1.8.0,adt-bundle-mac-x86_64-20140702 2. 安装:下载cocos2dx包解压,下载android-ndk-r9c包解压,下载adt-bundl原创 2016-04-19 19:05:31 · 536 阅读 · 0 评论 -
cocos2dx 简介
学习笔记用 -------------------简介 cocos2dx是一款跨平台的游戏开发引擎,它的前身是cocos2d iphone,主要用于苹果平台手机游戏的开发,基于oc语言完成,没有跨平台特性,但是使用此框架的开发者非常多,后面推出的cocos2dx版本就是基于cocos2d iphone风格开发,2.x版本完全MFC风格.比如到处的CCxxxx风格,3.x版本转成C原创 2016-04-18 19:22:15 · 3993 阅读 · 0 评论 -
容器
cocos2dx提供的容器有CcArray,CcDiction。cocos2dx既然使用c++语言,为什么不采用stl提高的容器,还要自己去重新实现一套呢。这首先要从cocos2dx的内存管理机制说起,cocos2dx采用引用计数机制,每个对象都维护一个引用计数器,当计数器为0时,该对象就会被自动释放回收。cocos类都继承基类cobject,cobject实现了引用计数器机制,其派生类都有此功能原创 2016-04-29 15:14:30 · 419 阅读 · 0 评论 -
粒子、地图
在自然界中,我们会经常看到大规模一起运动的物体。如下雨,起雾,尘埃,星辰等等。而在游戏中,有时需要模拟这些做出很炫的游戏特效。制作方法有两种:一是用帧动画模拟,缺点是体积大,不灵活,效果固定死。二是用粒子模拟,整个特效由大量的粒子对象共同晚餐呈现,只要定时更改每个粒子对象的状态。cococ2dx框架为我们提供了粒子系统(ParticleSystem System),包括粒子发射,更改状态及粒子原创 2016-05-11 14:57:09 · 940 阅读 · 0 评论 -
事件
cocos2dx触摸事件分标准事件(CCStandardTouchDelegate)和目标事件(CCTargetedTouchDelegate),其中标准事件对象平等的接收并处理事件,而目标事件是优先级高的对象优先处理事件并决定是否拦截事件的继续穿博文,如果在ccTouchBegin返回false,那ccTouchMove,ccTouchEnd,ccTouchCancle都接收不到事件了。 C原创 2016-05-11 14:56:31 · 531 阅读 · 0 评论 -
内存管理
内存管理是游戏开发中非常重要的内容,游戏的流畅性和响应及时性都和此有关,内存管理不好,游戏性能下降不说,还容易出现异常。 cocos2dx内存管理模拟oc的引用计数模式。现在内存管理技术主要分为两种:一是引用技术,一是垃圾回收。引用技术原理通过给每个对象维护一个引用计数器,记录该对象被引用的次数。当计数器为0,表示该对象生命周期结束,自动触发对象的回收和释放。每个程序片段还必须负责原创 2016-04-28 16:20:43 · 372 阅读 · 0 评论 -
Cocos2dx 代码命名风格
-----学习笔记----- cocos2dx延续cocos iphone而来,采用oc代码风格。只要导入“cocos2d.h”头文件,就可以获得引擎的全部功能。引擎的类都在 cocos2d命名空间下,使用using_ns_cc宏来引用命名空间。其中类采用驼峰命名法,第一个字母大写,受oc代码风格的影响,前面加大写的CC字母。 cocos2dx创建对象都在堆上,通过指针原创 2016-04-27 19:24:17 · 967 阅读 · 0 评论 -
hello world工程结构分析
学习笔记----------------------当工程创建完毕,进入cocos2dx 2.2.6/projects目录下面就可以查看创建的工程。打开工程,可以看到包含Classes, Resources,proj.android,proj.ios等文件夹。其中Classes文件夹存放游戏源码的地方,Resources存放游戏资源的地方,而以proj.开头的文件夹则是不同平台的工程入口,包含原创 2016-04-21 19:34:43 · 463 阅读 · 0 评论