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

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,十分经常使用的游戏菜单。

Cocos2d-x学习笔记1的更多相关文章

  1. cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建

    一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何 ...

  2. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  3. [Cocos2d-x for WP8学习笔记] HelloWorld结构分析

    先来看一下目录结构: Assets:游戏资源文件,图片音频等,Resource文件夹也有类似功能 include:用于放置游戏头文件 Shaders:渲染器着色器文件(大雾) cocos2dorig. ...

  4. cocos2d-x实战 C++卷 学习笔记--第4章 字符串 __String类

    前言: <cocos2d-x实战C++卷>学习笔记.(cocos2d-x 是3.0版本) 介绍 cocos2d-x 通用的字符串类  __String . 使用cocos2d::__Str ...

  5. Cocos2d-x学习笔记(17)(TestCpp源代码分析-1)

    TestCpp源代码基于Cocos2d-x2.1.3版本号,部分资源来自红孩儿的游戏编程之路CSDN博客地址http://blog.csdn.net/honghaier/article/details ...

  6. 《Cocos2d-x游戏开发实战精解》学习笔记4--实战一个简单的钢琴

    上一节学习了使用Cocos2d-x播放音乐的方法,但是那种方法一般只适合于播放较大的音乐,而一般比较短小的音乐(如游戏中的打斗.按键音效等)则要通过playEffect来播放.本节使用该方法以及之前学 ...

  7. 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音

    <Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...

  8. cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

    cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/ ...

  9. 【cocos2d-x 3.x 学习笔记】对象内存管理

    内存管理 内存管理一直是一个不易处理的问题.开发人员必须考虑分配回收的方式和时机,针对堆和栈做不同的优化处理,等等.内存管理的核心是动态分配的对象必须保证在使用完成后有效地释放内存,即管理对象的生命周 ...

  10. ‎Cocos2d-x 学习笔记(20) ControlButton

    [Cocos2d-x 学习笔记 目录链接] 1. 简介 ControlButton实现了按钮功能,根据触摸的位置和移动的过程可识别9中EventType类型,执行对应的回调函数. 直接继承了Contr ...

随机推荐

  1. 个人知识管理系统Version1.0开发记录(02)

    第 一 步 做 什 么 我们该如何入手呢?先来看看目前常用的三个方法. 1.从事物产生的源头出发,层层推进,步步验证,最后开花结果.这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多. ...

  2. jQuery-瀑布流的取巧做法分享

      分析:瀑布流,做法有2种 (1)绝对定位方案:每个单元格设置为绝对定位,通过计算,分别设置 top , left 即可实现 (2)浮动方案:弄N列布局(浮动),然后图片数据,按顺序依次插入,如N为 ...

  3. js Math对象的常用方法

    1,基本方法: Math.round();向上四舍五入. Math.ceil();向上取整,有小数就整数部分加1 Math.floor(5/2) ;向下取整 Math.abs();返回绝对值: Mat ...

  4. Spring Boot Logback几种日志详解

    日志对于应用程序来说是非常重要的,Spring框架本身集成了不少其他工具,我们自身的应用也会使用到第三方库,所以我们推荐在Spring应用中使用SLF4J/Logback来记录日志. SLF4J与Lo ...

  5. Spring源码解析-IOC容器的实现

    1.IOC容器是什么? IOC(Inversion of Control)控制反转:本来是由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IO ...

  6. Centos6安装MariaDB-yum方式

    1.创建安装目录: mkdir /data/mysql/ mkdir /data/mysql/datafile mkdir /data/mysql/logfile 2.创建用户: useradd -r ...

  7. Partition 1 does not start on physical sector boundary.分区信息不正常

    [root@v1 ~]# df -h Filesystem      Size  Used Avail Use% Mounted on /dev/sda2        20G  3.3G   16G ...

  8. 项目提交到github的忽略文件

    1.在工作区的.gitignore文件中配置如下: # Built application files*.apk*.ap_ # Files for the Dalvik VM*.dex # Java ...

  9. js常用正则表达式,滚蛋吧!你们测试组bug,让你挑

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  10. Java语言基础-运算符

    一丶逻辑运算符 1.&和&&的区别 (1).两个逻辑运算符的结果是一样的 (2).当第一个表达式为false时,&是会判断后边的表达式,而&&会产生短路 ...