手把手教你swift项目添加cocos2dx-lua
集成思路首先网上给出一个C系的思路,本人未亲测,并且以C调用lua,绕过了cocos2d-x的调用思路,不觉得这种方式很好,所以弃之; 本文思路如图: 首先你需要一个swift项目新建一个swift语言写的工程,我们默认你已经会用Xcode做这件事了,于是,工程的结构先大致看一下; 这里是我自己的swift工程,上面的是总结构,下面的是内部工程结构,我们这里只关注一下bridge,首先创建一个 创建好后先不要动,我们再来创建一个OC类型的单例,用来进行引擎的初始化操作,以及对lua游戏操作进行封装,我自己命名为 #import "LuaBridge.h"
#include "CocosLua.hpp"
@interface LuaBridge()
{
CocosLua _cocosLua;
}
@end
@implementation LuaBridge
- (instancetype)init
{
self = [super init];
if (self) {
_cocosLua = CocosLua();
}
return self;
}
static LuaBridge* _bridge = nil;
+ (instancetype)shared {
static dispatch_once_t onceToken;
dispatch_once(&onceToken,^{
_bridge = [[LuaBridge alloc] init];
});
return _bridge;
}
@end
上面出现的 #ifndef CocosLua_hpp
#define CocosLua_hpp
#include <iostream>
class CocosLua {
public:
CocosLua();
~CocosLua();
public:
void cocos_lua();
};
#endif /* CocosLua_hpp */
创建一个cocos2dx-lua项目首先我们需要去cocos官网上下载cocos2dx源码,链接在本文开始,我自己下载的是v3.17版本,下载的是zip包,解压后如下图: 接下来打开终端,我们创建一个lua项目; 一路cd到我们下载的cocos2dx文件夹下,然后: $ cd tools/cocos2d-console/bin/
到上面的这个目录下新建工程,使用下面的命令格式: cocos new <game name> -p <package identifier> -l <language> -d <location>
<game name> 工程名
<package identifier> 包名,bundle id
<language> 所用语言 cpp lua js
<location> 项目创建路径
$ ./cocos new Nothing-lua -p com.charles.nothing -l lua -d /Users/dizi/Desktop
整合swift项目与lua项目如果你做到这一步,那么我们离成功不远了;接下来我们要把lua项目里的资源拷贝到swift项目中,具体跟着我一步一步做;
工程环境配置接下来到了重头戏,工程环境配置,这个部分我们需要耐心一点,因为有很多路径需要我们自己去找,还要搞清楚几个不同的工程项目配置,我们一步一步来;
$(inherited)
$(PROJECT_DIR)/cocos2d-x/cocos
$(PROJECT_DIR)/cocos2d-x/external/lua/tolua
$(PROJECT_DIR)/cocos2d-x/external/lua/lua
$(PROJECT_DIR)/cocos2d-x/external/lua
$(PROJECT_DIR)/cocos2d-x/external
$(PROJECT_DIR)/cocos2d-x/Classes
去倒杯水吧,这个过程会很久。。。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |