cocos2d 重启_如何重启lua环境或重启引擎

本文介绍了在Cocos2d-x项目中如何重启Lua环境,详细解析了AppDelegate::applicationDidFinishLaunching()方法中启动Lua引擎的过程,以及CCLuaEngine类和CCLuaStack类的作用。通过理解这些,可以掌握重新加载或重启Lua脚本的方法。
摘要由CSDN通过智能技术生成

展开全部

第一步:看cocos2dx调用lua的最初切入点:

[cpp] view plain copy

bool AppDelegate::applicationDidFinishLaunching()

{

CCDirector *pDirector = CCDirector::sharedDirector();

pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());

CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionNoBorder);

pDirector->setDisplayStats(true);

pDirector->setAnimationInterval(1.0 / 60);

// register lua engine

CCLuaEngine* pEngine = CCLuaEngine::defaultEngine();//从这里开62616964757a686964616fe78988e69d8331333363366231始了lua旅程。

CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine);//保存刚才新建的lua引擎对象,以便别处调用。

std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("hello.lua");//CCFileUtils工具类一定封装了文件的搜索路径。

//接下来直接执行了脚本,跟句helloCpp工程的实现,这里本该是类似

//CCScene *pScene = HelloWorld::scene();

//pDirector->runWithScene(pScene);

//这样的代码,但这里并没有这样的代码,可以猜测:hello.lua中一定是实现了类似这样的一些功能,事实上,一定是这样。

//---因为需要添加的这些东西scene、other nodes都是一些c++类的对象,

//既然hello.lua能完成这些工作,那么lua也一定是有能力访问并操作了这些类与对象,

//换句话说,也就是一定存在一种机制,让c+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值