Cocos2d-x学习笔记1

版权声明:本文为博主原创文章。未经博主同意不得转载。

https://blog.csdn.net/u014734779/article/details/26077453

1.创建新的cocos2d-x 3.0 项目

在命令行中输入:

cocos new HelloWorld(项目名称)-p com.ss.pku(包名字)-l cpp(项目类型) -d D:\cocos\workspace(项目存放路径)

2.目录分析

resource 目录 存放资源文件

include和source文件 存放头文件和源码文件

AppDeleGate.h 和 AppDeleGate.c是cocos2d-x游戏的通用入口文件。

3.addChile方法,这种方法能够把一个游戏元素放置到还有一个元素之中。仅仅有把一个游戏元素放置到其它已经呈现出来的游戏元素中,它才会呈现出来。


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.以捕鱼游戏场景为例,场景能够大致分为四层。

菜单层、触摸层、动作层、背景层

2.关系图中的每个元素称作节点,关系图称作渲染树。渲染场景的过程就是遍历渲染树的过程。

渲染树的优势在于我们仅仅须要考虑节点相对于父节点的属性。就能够逐层穿件复杂的对象和动作。

3.动作是由Action类实现。派生出持续性动作ActionInterval和瞬时性动作ActionInstant。

全部的动作都是派生自以上两个类之中的一个。

4.动画;animation  是一种特殊的持续性动作,仅仅能应用于精灵上。一个帧动画。是由多张精巧的图片不停切换形成。

5.cocos2d-x 全部的对象都创建在堆上。创建一个对象首先要为对象分配内存,然后调用初始化方法来初始化对象。

6.使用构造函数创建的对象须要调用者负责释放,而使用工厂方法则不须要。

7.使用初始化方法或者工厂方法创建对象。使用訪问器方法模拟属性。cocos2d-x提供了Object-C风格的容器CCArray和CCDictionary。

8.AppDelegate负责控制游戏的生命周期。

9.选择器相似于C++中的类函数指针的机制,提供了创建选择器的宏。用来创建函数指针。

宏里面的參数,表示被指向的类方法。

10.cocos2d-x实现了自己的根类CCobject,引擎中的全部类都派生自CCObject。每个对象包括一个用来控制生命周期的引用计数器。

11.避免滥用autorelease(),仅仅在工厂方法等不得不用的情况下使用,尽量以release()来释放对象引用。

12.cocos2d-x 为我们提供了CCArray、CCDictionary等容器。

13.cocs2d-x内存管理的原则

程序段必须成对运行retain()和release()或者运行autorelease()来開始和结束对象的引用。

工厂方法返回钱,应该通过autorelease()结束对该对象的引用。

对象传值时,应考虑到新旧对象同样的特殊情况。

尽量使用release()而不是autorelease()来释放对象引用,以确保性能最优。

保存CCObject的子类对象时。应严格使用cocos2d-x提供的容器,避免使用STL容器,对象必须以指针存入。

14.CCLog cocos2d-x提供的日志输出函数。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


1.CCDirector 控制游戏流程的总管类。提供画图方面的选项以及平台相关的功能。游戏呈现方面的设定,切换当前的游戏场景。

管理场景的方法在p33页。包括启动场景,切换场景,将场景压栈,将场景出栈,暂停,恢复和结束场景。注意的是,在载入场景,再进行切换。所以再载入完成的瞬间。系统中会同一时候存在两个场景。

注意内存。

2.场景的翻页、波浪、淡出淡入等场景,是派生自CCScene的CCTransitionScene系列特效类来实现的。

3.CCSprite代表了游戏中一个最小的可见单位。说它灵活是因为装载了一个平面纹理。具有丰富的表现力。并且能够通过多种方式载入。

4.我们能够觉得纹理就是一张图片,这张图片被精灵显示出来。

5.CCSprite会自己主动把图片作为纹理载入到游戏中。然后使用纹理初始化精灵。

6.zOrder代表了该节点下元素的先后次序。值越大顺序越靠上。

7.cocos2d-x存在两种坐标系。画图坐标系,以左下角为原点。纹理坐标系以左上角为原点。

8AnchorPoint用于设置一个锚点,以便精确地控制节点的位置和变换。

它的两个參量x和y的取值通常都是0到1之间的实数,表示锚点相对于节点长宽的位置。锚点在父节点中的坐标实际上是它相对于父节点左下角的坐标值。

9.void *表示为随意类型的指针,该指针与一地址值相关,可是不清楚在此地址上对象的类型。

10.定时器是使游戏动态变化所须要的工具。

我们捕鱼的碰撞检測机制能够通过update事件来实现。

鱼群的定时生成、免费金币的定时刷新,能够通过schedule定时器实现。

11.cocos2d-x 内置了三种特殊的层,CCLayerColor一个单纯的实心色块,CCLayerGradient,一个色块能够设置两种颜色的渐变效果。CCMenu,十分经常使用的游戏菜单。




posted on 2019-04-08 16:33  xfgnongmin  阅读(103)  评论(0编辑  收藏  举报

导航