cocos2d-x 学习历程

1. 了解cocos2d-x。官网 : www.cocos2d-x.org

2. 搭建cocos2d-x。

使用版本号cocos2d-x 3.0 搭建好开发环境教程:http://www.idcfree.com/article-1488-1.html

3. 无脑码农的cocos2d入门视频教程,视频使用版本号coco2d-x 2.0.1 网址:http://wnmn.sinaapp.com/?cat=3

4. 无脑码农与龙灵修的cocos2d公开课。

视频使用版本号cocos2d-x 2.0.4 网址:http://wnmn.sinaapp.com/?

cat=5

5. flappybird.  flappybird的一个实现版本号。网址:http://blog.csdn.net/column/details/flappybird.html

6. tiled地图的使用。

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-make-a-tile-based-game-with-cocos2d/part1/zh.md

  https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-make-a-tile-based-game-with-cocos2d/part2/zh.md

  https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-make-a-tile-based-game-with-cocos2d/part3/zh.md

   在这篇教程中的忍者位置会显示有问题,要设置好忍者的锚点,并依据忍者的大小。改动忍者的位置。

   另外。编译后的游戏中会显示一些黑线。要解决黑线问题见:http://www.cnblogs.com/jiackyan/archive/2013/04/14/3019927.html

7. TexturePacker使用。

   https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-use-texturepacker-to-optimize-the-spritesheet/zh.md

8. 物理引擎

3.0简化了物理引擎的使用。

(1)在cocos2d-x3.0里面怎样使用物理引擎:弹球

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/intro-to-box2d-with-cocos2dx-tutorial-bouncing-balls/zh.md

(2)使用cocos2d-x3.0和物理引擎实现碰撞检測

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-use-box2d-for-just-collision-detection-with-cocos2dx/zh.md

该教程存在几个问题:

* 没有设置碰撞检測mask。

详细设置见:http://www.cocos2d-x.org/docs/manual/framework/native/physics/physics-integration/zh

* 碰撞回调函数设置时,CC_CALLBACK_2 改为 CC_CALLBACK_1。并将onContactBegin 的第一个參数去掉。

* 由于眼下存在的bug。当精灵的body设置为 body->setDynamic(false);时碰撞无法检測到。须要设置为true。设置当前的scene为带物理引擎的,并将当中的world设置为没有重力。m_world->setGravity(Vect::ZERO);

后两点的解决方式详细见:http://www.cocos2d-x.org/forums/6/topics/47452

(3)使用cocos2d-x3.0和物理引擎制作滚动背景

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/side-scrolling-the-background-in-box2d/zh.md

(4)使用cocos2d-x3.0和物理引擎制作简单的platformer游戏

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/simple-platformer-using-cocos2d-and-box2d-with-collision-detection/zh.md

(5)怎样使用cocos2d-x3.0和物理引擎来制作一个Breakout游戏

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2dx-tutorial/part1/zh.md

https://github.com/chukong/cocos-docs/blob/master/tutorial/framework/native/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2dx-tutorial/part2/zh.md

该教程存在两个问题:

*. 检測屏幕触摸事件时。没有设置onTouchBegan,仅仅有onTouchBegan的返回值为true,后面的操作move等才会运行。否则报错。

在原文中增加:

listener->onTouchBegan = [&](Touch *touch, Event *unused_event)->bool { return true; };就可以。

*. 存在(2)中相同的问题设置mask,改动回调函数类型,否则碰撞没有效果。

9. 重温flappy bird.

10. 重温cocos2d-x基础 http://subject.9ria.com/cocos2d0/index.html
内容有些老

11. cocoStudio 学习。

(1)基础 http://www.cocoachina.com/bbs/read.php?

tid=194065

(2)Cocos2d-x 3.0版本号加入CocoStudio库(VisualStudio)http://www.cocoachina.com/bbs/read.php?tid=194668&page=1

(3)CocoStudio Samples解说(含操作及代码实现,覆盖各个编辑器)

http://www.cocoachina.com/bbs/read.php?tid=194293

*demomap 地图

需解决这个问题:

1)引【#include "cocos-ext.h"】头文件出现编译错误。解决方式:项目名【HellCpp】右键【Properties】~~>【Configuration Properties】~~>【c/c++】->【General】在【Additional Include Directories】项中新增设置项【$(EngineRoot)】保存之后。又一次编译。

http://www.cocos2d-x.org/issues/3268

2)点击button始终存在问题。总是存在事件不能响应的问题。原因:alertpanel没有取消掉可点击选项,导致对地图层面的button产生了遮挡。

*  SampleImageViewer  图片查看器

* demobag 背包

注意锚点。位置,世界坐标系,以及怎样推断当前的点在某个控件的范围内。

* DemoShop 商店

* SampleUIAnimation UI动画(普通帧。关键帧)

* SampleFrameAnimation 普通帧,关键帧

* SampleCollision 骨骼动画

* SampleParticle 粒子系统

Note:ArmatureDataManager::getInstance()->addArmatureFileInfo("Hero.ExportJson");

    armature = Armature::create("Hero"); 名字要一致,否则出现alert。

* SampleFlashImport 导入flash 

* SampleChangeEquip 换装系统 

* DemoGameScene 游戏场景

* SamplesSceneEditor 游戏场景2 

* DemoCowboyGame 游戏场景3 - 牛仔演示

12. 游戏<别救我> 实例教程。

包括了一个较为具体的制作流程。

包括中间使用的各种工具。

http://www.benmutou.com/archives/971

cocos2d-x认识之旅的更多相关文章

  1. Cocos2D iOS之旅:如何写一个敲地鼠游戏(三):素材最终解决方法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  2. Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  3. Cocos2D:塔防游戏制作之旅(十八)

    在Enemy.m的getDamaged:方法只给你添加如下1行(在if条件内): [theGame awardGold:200]; 现在运行游戏你将注意到你不能放置超出你资源金币的炮塔了.当然杀死敌人 ...

  4. Cocos2D:塔防游戏制作之旅(四)

    让我们看一下项目的结构.在TowerDefense文件夹,你将找到: 含有Cocos2D文件的libs文件夹 含有所有图片和声音的资源文件夹 现在,你已经准备就绪准备开始建造炮台之旅了 ;) 放置炮塔 ...

  5. Cocos2D:塔防游戏制作之旅(一)

    原文地址:http://www.raywenderlich.com/37701/how-to-make-a-tower-defense-game-tutorial 由Pablo Ruiz写的入门教程, ...

  6. Cocos2d-x 3.x学习笔记(一):开始Cocos2d之旅

    首先,进入官网下载cocos2d-x:http://www.cocos.com/download/,当然你需要注册一个账号才可以下载. 接下来需要跟着官网的配置文档配置一下开发环境,不得不说,Coco ...

  7. Cocos2D iOS之旅:如何写一个敲地鼠游戏(十一):完善游戏逻辑

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  8. Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  9. Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  10. Cocos2D iOS之旅:如何写一个敲地鼠游戏(七):弹出地鼠

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

随机推荐

  1. poj--1459--Power Network(最大流,超级源超级汇)

    Power Network Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit ...

  2. 使用java自带的xml解析器解析xml

    使用java自带的xml解析器解析xml,其实我不推荐,可以用Dom解析,或其他的方式,因为Java自带的解析器使用不但麻烦,且还有bug出现. 它要求,针对不同的xml(结构不同),必须写对应的ha ...

  3. "getElementsByClassName is not a function" 报错原因

    element.getElementsByClassName(""): 返回的含有该类的子元素数组,除了子元素以外的后代元素是获取不到的.要遍历使用,或者.element.getE ...

  4. vue-cli · Failed to download repo vuejs-templates/webpack-simple: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:8086 && vue init webpack-simple xxx

    vue init webpack-simple mywork报错如下: vue-cli · Failed to download repo vuejs-templates/webpack-simple ...

  5. 【Linux系统引导过程】

    *** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...

  6. jquery表单动态添加元素及PHP处理

    tijiao.php页面代码: if(isset($_POST['cp1'])){    echo '<pre>';    print_r($_POST); $num=((count($_ ...

  7. or in 、Object.keys()以及Object.getOwnPropertyNames有什么区别?

    or in .Object.keys()以及Object.getOwnPropertyNames的区别 var obj= Object.create(parent, { b: { value: 2, ...

  8. hdoj-1421-搬寝室【DP】

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  9. DB2物化视图(Materialized Query Tables, MQT)

    DB2的物化视图MQT是基于查询结果定义的一个表,MQT中包括的数据来自MQT定义所基于的一个或多个表, 使用MQT能够显著提高查询的操作性能. 数据库的视图和MQT都是基于一个查询来定义的.每当视图 ...

  10. IOS学习之斯坦福大学IOS开发课程笔记(第六课)

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...