博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x lua脚本开发 1
阅读量:4881 次
发布时间:2019-06-11

本文共 1678 字,大约阅读时间需要 5 分钟。

自从开始关注之后,逐渐关注Lua语言,发现这个语言真真是容易让人喜爱的语言。偶然间发现了cocos2d-x,还支持lua,所以果断尝试一下。

这里是在下载了v2.2.3版本。

 

命令行中切换到解压后的COCOS2DX目录,切换到tools/project-creator,直接输入

python create_project.py

它就会告诉你有哪些参数,这里根据提示输入项目名和包名,在语言选项中选择lua就可以了,如

python create_project.py -project hellolua -package com.cnblogs.freshcat.hellolua -language lua

这样cocos2d-x lua项目就产生了,其在COCOS2DX/projects目录下产生hellolua项目文件夹。

进入该文件夹下的proj.win32文件夹,双击打开hellolua.sln

发现.h和.cpp文件,在AppDelegate.cpp的applicationDidFinishLaunching方法中

// register lua engine    CCLuaEngine* pEngine = CCLuaEngine::defaultEngine();    CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine);    CCLuaStack *pStack = pEngine->getLuaStack();    lua_State *tolua_s = pStack->getLuaState();    tolua_extensions_ccb_open(tolua_s);#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS || CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)    pStack = pEngine->getLuaStack();    tolua_s = pStack->getLuaState();    tolua_web_socket_open(tolua_s);#endif    #if (CC_TARGET_PLATFORM == CC_PLATFORM_BLACKBERRY)    CCFileUtils::sharedFileUtils()->addSearchPath("script");#endif    std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("hello.lua");    pEngine->executeScriptFile(path.c_str());

这段代码看着很像java中调用lua的方式

ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("lua");try {    engine.eval("print 'hello,freshcat'");} catch (ScriptException e1) {    e1.printStackTrace();}

所以上面的applicationDidFinishLaunching方法主要做的就是初始化lua引擎,执行hello.lua文件

hellolua项目文件夹下有一个Resources的文件夹下面就有一个叫hello.lua的文件,也就是说,只要看看hello.lua就可以了

未完待续..

 

 

转载于:https://www.cnblogs.com/freshcat/p/3714392.html

你可能感兴趣的文章
223. Rectangle Area
查看>>
spring boot + velocity中文乱码解决方式
查看>>
读罢泪两行,人生成长必须面对的10个残酷事实
查看>>
ASP 32位程序运行与64位问题:ADODB.Connection 错误 '800a0ea9' 未指定提供程序,也没有指派的默认提供程序。...
查看>>
xcode-git笔记
查看>>
TCP和UDP的优缺点及区别
查看>>
MATLAB消除曲线毛刺Outlier Detection and Removal [hampel]
查看>>
MySQL DATE_SUB() 函数
查看>>
在SSH框架下按条件分页查询
查看>>
jquery选择器
查看>>
【javascript学习——《javascript高级程序设计》笔记】DOM操作
查看>>
高效的SQL语句翻页代码
查看>>
NPAPI插件开发详细记录:用VS2010开发NPAPI插件步骤
查看>>
linux下Makefile全解(二)
查看>>
XMLHTTP.readyState的五种状态
查看>>
百度外卖 前端面试题
查看>>
record for json formate site
查看>>
查询树形的根节点
查看>>
HDU 1272 小希的迷宫
查看>>
hdu 5412 CRB and Queries(整体二分)
查看>>