[cocos2d-x 学习] 如何编译自己的项目(从win32交叉编译到android)

来源:互联网 发布:矩阵论教材 编辑:程序博客网 时间:2024/05/16 09:40

前言

学习cocos2d-x,很多人都是从 win32 开发然后直接交叉编译到 android project,而中间过程怎么弄?

如何交叉编译

新建 win32 程序(可以参照这里),写好自己的代码,假设我们新建一个类PractiseCocos2d,代码如下:
#ifndef __PRACTISE_COCOS2D_H__#define __PRACTISE_COCOS2D_H__#include "cocos2d.h"// 播放声音#include "SimpleAudioEngine.h"class Practise : public cocos2d::CCLayerColor {public:virtual bool init();static cocos2d::CCScene* scene();void callBack(CCObject* pSender);void menuPushSceneCallBack(CCObject* pSender);void menuReplaceSceneCallBack(CCObject* pSender);void menuPopSceneCallBack(CCObject* pSender);CREATE_FUNC(Practise);// 添加启动的回调函数void onEnter();Practise *layer;cocos2d::CCSprite *pSprite;Practise():layer(NULL), pSprite(NULL){};~Practise();};#endif // __PRACTISE_COCOS2D_H__
至于实现就不贴了有点乱 呵呵

然后修改 AppDelegate.cpp 中applicationDidFinishLaunching() 方法,修改如下:

至于实现不是特别重要,主要是 scene 方法
CCScene* Practise::scene(){CCScene* scene = CCScene::create();Practise* layer = Practise::create();// layer->autorelease();scene->addChild(layer);return scene;}

大概跑出来的就是下面


弄到这里,大概我们的win32程序就ok了,我们添加了 PractiseCocos2d.h 头文件和实现 PractiseCocos2d.cpp 文件,现在要把这个自己写的东西用ndk编译android project,还记得用 create-android-project.bat 创建过 android project 吗(这里),编译的时候需要用到 proj.android 这个文件夹中的所有东西。大概需要以下步骤:

1、创建出 android project,配置信息写好


2、复制android project 中的 proj.android 到要编译的 win32 中

假设工程为 PractiseCocos2d,那么打开 PractiseCocos2d,复制到里面。

3、修改 proj.android/jni/Android.mk 文件

面找到 LOCAl_SRC_FILES,再后面加上你要编译的文件,上面工程中加入了 PractiseCococs2d.cpp, 把它加入到里面(../../代表上上层目录,就是classes同级目录),然后打开 cygwin 编译就可以了,cygwin 编译可以参考这里第二大点第二小点。(helloworldScene.cpp 可以选择性编译,具体看情况),如果多个文件,多加几个文件就可以了


编译完成就可以在导入到eclipse跑起来了。

--> 下一篇:cocos2d-x之Scene(场景)学习

原创粉丝点击