#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
CCString* pstrFileContent = CCString::createWithContentsOfFile("himi.lua");
if (pstrFileContent)
{
pEngine->executeString(pstrFileContent->getCString());
}
#else
std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("himi.lua");
pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str());
pEngine->executeScriptFile(path.c_str());
#endif <em id="__mceDel">
</em>
本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi )
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/lua-game/1368.html
☞ 点击订阅 ☜ 本博客最新动态!及时将最新博文通知您!
width="150" height="210" frameborder="0" scrolling="no" src="http://widget.weibo.com/relationship/bulkfollow.php?language=zh_cn&uids=1916000601&wide=1&color=FFFFFF,FFFFFF,0082CB,666666&showtitle=0&showinfo=1&sense=0&verified=1&count=1&refer=http%3A%2F%2Fwww.himigame.com%2Flua-game%2F1368.html&dpc=1" style="border-width: 0px; margin: 0px; padding: 0px; font-family: arial, helvetica, clean, sans-serif;font-size:12px; line-height: 16px; text-align: left; ">
对于跨平台整合,Himi已经写了1.x 与 2.x 的了,还不知道如何整合的请移步到
【Cocos2d-X(2.x) 游戏开发系列之二】cocos2dx最新2.x版本跨平台整合NDK+Xcode,Xcode编写&编译代码,Android导入打包运行即可!)
本篇只是解决在整合cocos2dx-lua项目会出现的几个问题的方法。
首先需要说明的是Himi使用的Cocos2dx Version : Cocos2dx 2.1.2 hotfix
第一:关于 get data from file(xxx.lua) failed/can not get file data of xxx.lua 这个问题,如下图:
此问题的原因是由于你自定义目录的原因造成的,将到目录,那么不得不说明下,在xcode中有两种颜色的文件夹,第一种 黄色 和 绿色
黄色文件夹:不带路径,直接添加到根目录的文件夹,也就是说没有文件夹的意思,只是将文件添加项目中了。
绿色文件夹:真正的将文件夹添加进来,其文件夹中的每个文件带有路径。如a/a.lua,是将文件夹整个添加到项目的根目录
可能还有童鞋不是很明白上面的两种颜色的文件夹的意思,下面举个例子:
例如我们将一个ios项目进行打包,此ios项目的Resources添加一个叫dir的文件夹,其中dir中包括两个lua文件a.lua b.lua 那么此时将dir文件夹添加进项目我们xcode项目中,肯定需要右键Resources文件夹“Add Files to xxx(项目名)”,然后在新窗口中选择我们需要添加的文件夹,如下图:
需要注意的是在下方有一个选项:
Folders :
1. Create groups for any added folders: 默认选项,将文件夹创建成一个groups形式添加
2. Create folder references for any added folders : 引用创建文件夹进行添加
使用第一种形式进行添加的文件夹是黄色,第二种形式添加的文件夹是绿色
那么如果我们采用第一种形式将dir文件夹加入项目进行打包,那么解压xx.ipa后可以发现这个dir文件夹不存在的,并且dir文件夹中的文件全部都默认放在项目根目录中。
反之 ,如果我们采用第二种形式添加,那么打包后的项目.ipa解压后会看到dir文件。
不知道这么说大家有没有理解,还不理解的童鞋请自行打包测试观察!
需要注意的是!使用ndk 编译cocos2dx-lua项目时,默认把项目下的Resources 所有文件夹和文件都copy到android项目的assets目录下!
下面开始讲解为什么出现 get data from file(xxx.lua) failed/can not get file data of xxx.lua
其实这个问题是android加载运行lua文件时找不到这个文件,说白了就是路径不对!
举例,如果你有一个添加了一个lua文件夹,其中包含一个黄色的himi.lua脚本文件夹,当你执行时,代码一般如下:
童鞋们想一想,如上代码中如果是ios平台获取himi.lua完整路径是不是就是根目录下,因为这个脚本上一层lua文件夹是个黄色文件夹!那么在ios上执行运行肯定没有任何问题。
但是!如果你将此段代码直接编译android运行肯定出现找不到himi.lua文件的问题,原因是你应该加上路径,修改如上一段代码如下:
1
2
3
4
5
6
7
8
9
|