在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文是一篇关于添加文件的帖子
#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 >
</em>
本站文章均为 原创,转载务必在显明处注明:(作者新浪微博: )
本客博最新态动!实时将最新博文知通您!
对于跨平台整合,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文件的问题,原因是你应当加上路径,修改如上一段代码如下:
如上添加路径后可即运行功成!但是!新问题又涌现了,一旦你在编译代码到Android后,如果有自定义的文件夹,那么其中的个每文件都须要路径,这是个问题,另外如果你的一个本脚中有require 其他本脚,也会有问题!对不对?! 因此我们可以采用如来下美完处理: 一、 我们添加自定义本脚文件夹,可以绿色文件夹方法添加。 二、当require 其他本脚时,誊写整完的路径,如:require “x.lua” 这样我们以可就让ios运行本脚也须要路径,这样一统了android与ios加载资源的路径问题! 运行第一个lua,示例代码可以如下:
|
请发表评论