cocos2d-x入门学习(四)跨版本代码移植实例之【微信飞机大战】
2014-05-24 14:56
519 查看
《飞机大战》源代码作者是:fusijie,他在博客中详细解读了代码和算法,这里就不再赘述。
其博客地址http:// www.eoeandroid.com/home.php?mod=space&uid=1087107&do=blog&view=me&from=space&page=2
源码:VS2010+cocos2d-x 2.2.0版https:// github.com/fusijie/Airplane.git
本案例是从cocos2d-x 2.2.0环境到cocos2d-x-2.2.2+VS2010。
下面进入我们的主题,示范的是如何把不同版本的cocos2d-x代码移植到新版本创建的工程项目中。
1、创建新的工程。用visual studio打开编译运行,使得HelloWorld界面正常显示。
(跟以前的版本不一样,cocos2d-x-2.2.2版本新建项目后,一般是无需设置任何的东西,只要直接编译运行即可以看到Hello World界面。
如果个别时候不能够显示,可以再次运行编译试试,也许就可以了。)
2、下载本游戏所需的资源,把下载的Resources文件夹的资源放置到新建项目的"Resources"目录下。
把下载的Classes里(除了AppDelegate的.h和.cpp外)的文件放置到新建项目的Classes目录下。
3、右键——添加——现有项目,把我们项目的Classes目录下文件都添加进去。
4、代码调整:
找到main.cpp修改屏幕
把eglView->setFrameSize(480, 320);改为eglView->setFrameSize(480, 800);
找到AppDelegate.cpp修改代码,
头文件中加入
#include "WelcomeScene.h"
再在WelcomeScene.cpp中把CCScene *pScene = HelloWorld::scene();改为CCScene *pScene = WelcomeScene::scene();
编译运行报错:
appdelegate.cpp(33): error C2039: “scene”: 不是“WelcomeScene”的成员
welcomescene.h(22) : 参见“WelcomeScene”的声明
error C3861: “scene”: 找不到标识符
找到WelcomeScene.h中加入static cocos2d::CCScene* scene();
在WelcomeScene.cpp中加入以下代码
CCScene* WelcomeScene::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
WelcomeScene *layer = WelcomeScene::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
再次编译运行,显示正常。能够计分,游戏完毕后会显示成绩。历史成绩也能保存。
因为从cocos2d-x 2.2.0到cocos2d-x-2.2.2改动比较少,很轻松地就可以完成了!
其博客地址http:// www.eoeandroid.com/home.php?mod=space&uid=1087107&do=blog&view=me&from=space&page=2
源码:VS2010+cocos2d-x 2.2.0版https:// github.com/fusijie/Airplane.git
本案例是从cocos2d-x 2.2.0环境到cocos2d-x-2.2.2+VS2010。
下面进入我们的主题,示范的是如何把不同版本的cocos2d-x代码移植到新版本创建的工程项目中。
1、创建新的工程。用visual studio打开编译运行,使得HelloWorld界面正常显示。
(跟以前的版本不一样,cocos2d-x-2.2.2版本新建项目后,一般是无需设置任何的东西,只要直接编译运行即可以看到Hello World界面。
如果个别时候不能够显示,可以再次运行编译试试,也许就可以了。)
2、下载本游戏所需的资源,把下载的Resources文件夹的资源放置到新建项目的"Resources"目录下。
把下载的Classes里(除了AppDelegate的.h和.cpp外)的文件放置到新建项目的Classes目录下。
3、右键——添加——现有项目,把我们项目的Classes目录下文件都添加进去。
4、代码调整:
找到main.cpp修改屏幕
把eglView->setFrameSize(480, 320);改为eglView->setFrameSize(480, 800);
找到AppDelegate.cpp修改代码,
头文件中加入
#include "WelcomeScene.h"
再在WelcomeScene.cpp中把CCScene *pScene = HelloWorld::scene();改为CCScene *pScene = WelcomeScene::scene();
编译运行报错:
appdelegate.cpp(33): error C2039: “scene”: 不是“WelcomeScene”的成员
welcomescene.h(22) : 参见“WelcomeScene”的声明
error C3861: “scene”: 找不到标识符
找到WelcomeScene.h中加入static cocos2d::CCScene* scene();
在WelcomeScene.cpp中加入以下代码
CCScene* WelcomeScene::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
WelcomeScene *layer = WelcomeScene::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
再次编译运行,显示正常。能够计分,游戏完毕后会显示成绩。历史成绩也能保存。
因为从cocos2d-x 2.2.0到cocos2d-x-2.2.2改动比较少,很轻松地就可以完成了!
相关文章推荐
- cocos2d-x入门学习(五)跨版本代码移植实例之【梦幻连连看】
- 基于Cocos2d-x-1.0.1的飞机大战游戏迁移到Cocos2d-x-3.0版本,并移植到Android平台成功运行
- 正则式代码转换程序,用于cocos2d-x不同版本之间程序移植。
- 微信开发从入门到精通教程大全 资料大全 java和php版本;教程文档、代码、视频 微信商城实例
- 微信开发从入门到精通教程大全 资料大全 java和php版本;教程文档、代码、视频 微信商城实例
- 【cocos2d-x入门实战】微信飞机大战之一:搞个飞机来玩玩
- 【cocos2d-x入门实战】微信飞机大战之二:别急,先处理好CCScene和CCLayer的关系
- [置顶] cocos2d-x 2.x版本之win32 window移植android 环境搭配 只用NDK 超级详细 android 环境搭配
- [置顶] cocos2d-x 2.x版本之win32 window移植android 环境搭配 只用NDK 超级详细 android 环境搭配
- 【iOS-Cocos2d(2.x) 游戏开发之一】自定义CCSprite中-(id) init 重写需注意& 2.x版本中注册触屏事件代码&简述cocos2d/x/Unity3D引擎使用感想!
- [置顶] 【cocos2d-x入门实战】微信飞机大战之六:子弹层的处理
- (Oracle 技能篇 ) Oracle 连接池实例代码(Java版本)
- IE的有条件注释判定IE版本详解(附实例代码)
- 【cocos2d-x入门实战】微信飞机大战之十:UFO层特殊道具
- [置顶] 【cocos2d-x入门实战】微信飞机大战之四:飞机登场咯
- 【cocos2d-x入门实战】微信飞机大战之五:批次渲染
- 【cocos2d-x入门实战】微信飞机大战之三:引擎坐标系,锚点和背景滚动
- cocos2d-x 2.x版本之win32 window移植android 环境搭配 只用NDK 超级详细 android 环境搭配
- IE的有条件注释判定IE版本详解(附实例代码)
- 学习代码《Cocos2d-x权威指南》11-12章实例代码2.1.3修正