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

本文介绍了如何将cocos2d-x项目从win32平台交叉编译到Android,包括创建Android项目、复制proj.android文件夹及修改Android.mk文件的步骤。
摘要由CSDN通过智能技术生成

前言

学习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(场景)学习

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值