cocos2d-x游戏开发实例(一)

来源:互联网 发布:mysql多表联合查询 编辑:程序博客网 时间:2024/05/02 01:12

1.哇!板球。效果展示

这里写图片描述
(电脑有点卡,运行不流畅。。)

2.游戏框架结构

(1)可以看出来游戏有多个场景构成,全部由ScenceManager调控,具体如下:

这里写图片描述

2.源码介绍

这里并不具体对代码做出一步步解释,具体后面我会附上我的代码,需要下载研究,下面主要对源码中部分功能在3.0版本的变化作出解释,希望读者更方便理解

(1)cocos2d-x 3.0版本对屏幕监听做出了调整

书中处理为重写父类的方法,代码如下:

//触屏事件  virtual bool ccTouchBegan(Touch * touch,Event * event);  virtual void ccTouchMoved(Touch * touch,Event * event);  virtual void ccTouchEnded(Touch * touch,Event * event);//然后还有一堆。。不想误导大家,就不贴了!

而3.0版本变得简单了很多:

auto listener = EventListenerTouchOneByOne::create();listener->onTouchBegan = [](Touch* touch,Event* event){        return true;    };    listener->onTouchMoved = [](Touch* touch,Event* event){    };    listener->onTouchEnded = [=](Touch* touch,Event* event){        }    };    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);    //是不是简单了好多。。

(2)菜单选项的回调函数形式做了调整

在cocos2d-x 2.x 版本中,代码如下:

CCMenuItemImage *pCloseItem = CCMenuItemImage::create(                                          "CloseNormal.png",                                          "CloseSelected.png",                                          this,                                          menu_selector(HelloWorld::menuCloseCallback)); 

在cocos2d-x 3.0 版本中:

auto closeItem = MenuItemImage::create( "CloseNormal.png",                                             "CloseSelected.png",                                          CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));//同时对应的函数参数也不同了!!

3.下载

书中章节源码:Link

0 0
原创粉丝点击