大家有使用过cocos2dx 3.4的Lua么?目前有个疑问,例如ccui.TextureResType.localType这样的枚举,在cocos2dx 3.4生成的Lua项目中是没有用的,会报TextureResType找不到,是nil。跟了下代码,发现是在config.lua里面CC_USE_FRAMEWORK = true,导致在cocos目录下的init.lua脚本中直接走了if CC_USE_FRAMEWORK then require “cocos.framework.init”, 后面的都没有走…导致这些枚举都无效了。我尝试过把require “cocos.ui.DeprecatedUIEnum” 放到require "cocos.framework.init"的前后去执行,但是报错。也尝试过CC_USE_FRAMEWORK = false,但是报了更多的deplicated的错误,所以暂时也不敢动这里的定义。
不知道大家有没有遇到这个问题?是怎么解决的?目前只能在代码里用这些枚举的地方直接填枚举对应的变量,这样代码可读性和可维护性都非常差。。。。
不知道官方把这些枚举在lua中注销掉后,提供了什么新的方法让我们可以调用么?
这些常亮 自己定义 就好了 没必要用 它的
我遇到的情形跟你滿像的但我是整個ccui都找不到
最後我一樣設定CC_USE_FRAMEWORK = true
會跳找不到SimpleAudioEngine的Error
我發現這部分在LUA沒有註冊所以找不到
所以改成手動註冊
#include <cocosdenshion/lua_cocos2dx_cocosdenshion_manual.h>
register_cocosdenshion_module(LuaEngine::getInstance()->getLuaStack()->getLuaState());
註冊完SimpleAudioEngine的Error就解掉了
然後換跳 ccui nil的Error一樣幫它註冊
#include <ui/lua_cocos2dx_ui_manual.hpp>
register_all_cocos2dx_ui_manual(LuaEngine::getInstance()->getLuaStack()->getLuaState());
register_ui_moudle(LuaEngine::getInstance()->getLuaStack()->getLuaState());
加上後目前ccui已經可以使用