永发信息网

lua开发cocos2dx怎么进行联调

答案:1  悬赏:0  手机版
解决时间 2021-11-16 13:41
  • 提问者网友:我一贱你就笑
  • 2021-11-16 06:29
lua开发cocos2dx怎么进行联调
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-11-16 07:10
如何在cocos2d c 代码中调用lua以及探究,有需要的朋友可以参考下。

如何在cocos2d c 代码中调用lua

在AppDelegate 中加入了
#include"Lua_extensions_CCB.h"
#include"CCLuaEngine.h"
#include"Lua_web_socket.h"

查到代码加载lua脚步引擎
官方原话注册引擎
CCLuaEngine*pEngine=CCLuaEngine::defaultEngine();
CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine);

和ccb有关的lua
CCLuaStack*pStack=pEngine->getLuaStack();
lua_State*tolua_s=pStack->getLuaState();
tolua_extensions_ccb_open(tolua_s);

和web_socket 相关的lua
pStack=pEngine->getLuaStack();
tolua_s=pStack->getLuaState();
tolua_web_socket_open(tolua_s);

pEngine->executeScriptFile("luaScript/controller.lua");
结束

打开luaScript/controller.lua仔细研究

-- avoidmemory leak
collectgarbage("setpause",100)
collectgarbage("setstepmul",5000)

require"luaScript/mainMenu"
----------------

-- run
local scene =CCScene:create()
scene:addChild(CreateTestMenu())
CCDirector:sharedDirector():runWithScene(scene)

到这里如果熟悉cocos2dx 的朋友就很熟悉了
不错,这里是cocos2d中lua的使用方法和c 中调用差别不大!

但是还没有完

Cocos2dx 对lua的封装是很好的!

如果不熟悉c 与lua的绑定的代码下面的不建议看
C 与lua的绑定传送门

关于cocos2d 与 lua绑定的代码的探究

//打开"CCLuaEngine.h"

单例实现CCScripEngineProtocol
后期应该支持不仅仅只是lua的脚本引擎

头文件有很多方法

挑一个看看
virtualintexecuteNodeEvent(CCNode*pNode,intnAction);

intCCLuaEngine::executeNodeEvent(CCNode*pNode,intnAction)
{
intnHandler=pNode->getScriptHandler();
if(!nHandler)return0;

switch(nAction)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯