看看是不是加密和解密的密码不一样导致的。
不是的呢,我加载的zip在AppDelegate里面写的话就不会出错,我的密码一直是写在AppDelegate里面的。不知道为甚么会这样,lua里面不知道在哪里添加密码这些
你是怎么生成的game.zip.
cocos/scripting/lua-bindings/manual/cocos2d/lua_cocos2dx_manual.cpp 这个文件直接修改就行么?
cc.HelperFunc:getFileData()这个方法能否代替?
用quick一直没有看怎么导出lua
谢谢!
cc.HelperFunc:getFileData() 不可以 cc.HelperFunc:getFileData() 是做过解密后的数据。你看github上有修改这个bug的,你按照他的修改就可以了。
我按照git上面修改还是会报。我只是在lua_cocos2dx_manual.cpp文件加了git上面增加的部分。其他什么都没有做
LUA ERROR: :194: attempt to call method ‘getDataFromFile’ (a nil value)
stack traceback:
:194: in function ‘readFile’
:256: in function ‘fileMd5’
:132: in function ‘_onLauncherPacakgeFinished’
:107: in function ‘_onResponse’
:81: in function <:80>
你的时什么版本 是不是没修改对啊,按照一样修改是不会有问题的。
quick的3.3版本
我修改的是这个文件
代码是git上copy下来的
quick 3.3
代码是git上copy下来的
你没有写全还有一个 地方需要添加
static void extendFileUtils(lua_State* tolua_S)
{
lua_pushstring(tolua_S, “cc.FileUtils”);
lua_rawget(tolua_S, LUA_REGISTRYINDEX);
if (lua_istable(tolua_S,-1))
{
lua_pushstring(tolua_S,“getStringFromFile”);
lua_pushcfunction(tolua_S,tolua_cocos2dx_FileUtils_getStringFromFile );
lua_rawset(tolua_S,-3);
lua_pushstring(tolua_S,"getDataFromFile");
lua_pushcfunction(tolua_S,tolua_cocos2dx_FileUtils_getDataFromFile );
lua_rawset(tolua_S,-3);
}
lua_pop(tolua_S, 1);
}
跪谢。以后得长心了
解决问题就好。
我首先从https://github.com/dualface/v3quick.git上clone下了代码,编译是成了player3.app,将这个player3.app复制到v3quick目录下,在将v3quick改名quick-3.3并将这个这个文件夹下所有的东西一起移动到~/Documents下,最后执行quick-3.3下的setup_mac.sh
用player3创建了工程(update),用从本贴下载的sample中的文件替换update工程中对应的文件(因为没有FZPangWa-M18T.ttf,我将src/launcher/config.lua中FZPangWa-M18T.ttf替换成了arial.ttf)
在player3中运行,报错: LUA ERROR: :233: bad argument #1 to ‘loadstring’ (string expected, got nil)
stack traceback:
: in function ‘loadstring’
:233: in function ‘doFile’
:47: in function ‘_checkUpdate’
:23: in function ‘listener’
:308: in function <:306>
我查了是路径没有设置对,所以我在src/main.lua 中fileUtils:purgeCachedEntries() 后面添加了fileUtils:addSearchPath(“res/”,false)
再次运行,报错: LUA ERROR: :51: attempt to index field ‘_textLabel’ (a nil value)
stack traceback:
:51: in function ‘_checkUpdate’
:23: in function ‘listener’
:308: in function <:306>
我查了代码self._textLabel = cc.Label:createWithTTF(STR_LCHER_HAS_UPDATE, LCHER_FONT, 20)中_textLabel我nil,我不知道该去哪跟 cc.Label:createWithTTF这个代码,所以不知道咋回事,只有先把所有的_textLabel注释掉,用print输出提示。(后面的_progressLabel也遇到同样的问题)
最后大概算跑通了,存在上面那个疑问。最后还在跟代码时在ConfigParser中指定了lua入口是src/main.lua,想问下,怎么修改这个入口
1.你拷贝了我的AppDelegate这个C++相关修改就不需要这样修改:“在src/main.lua 中fileUtils:purgeCachedEntries() 后面添加了fileUtils:addSearchPath(“res/”,false)”
2.FZPangWa-M18T字体没有你代码中是否修改了在launcher/config.lua文件里面修改成arial.ttf
3.修改上面2项就应该没有3了。
非常感谢,我在xcode中跑是没有问题,但是在player3来跑还是有问题,改了C++代码怎么才能在player3中生效呢
还有个就是LuaObjcFun在xcode中会提示LuaObjcFun.mm
17: Expected namespace name,是否需要添加#include <cocos2d.h>。
如果我想把程序用我更新的main.lua的话是不是只有重新打包上传了?
main.lua 没有逻辑啊 这点你也不能保证,他只是一个入口。
修改了AppDelegate中的代码,怎么才可以用player3来测试?
自己要编译代码
我就这样加的密啊 compile_scripts.bat -i scripts -o game.zip -m zip -e xxtea_chunk -ek XXX -es test
确定下加密和解密的密码 大小写是否一样。