zoukankan      html  css  js  c++  java
  • cocos2d-x认识之旅

    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  

  • 相关阅读:
    Python—字符编码转换、函数基本操作
    零散知识点
    Python—集合的操作、文件的操作
    Python—字典的操作
    Python—字符串的操作
    Spring基础—— 在 Spring Config 中使用外部属性文件
    Spring基础—— Bean 的作用域
    Spring基础——在 IOC 容器中 Bean 之间的关系
    Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
    Spring基础——一个简单的例子
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7008381.html
Copyright © 2011-2022 走看看