cocos2d-x-2.2.0版本的CocoStudio的GUI绑定到lua

本文介绍如何在Cocos2d-x 2.2.0版本中使用Lua进行CocoStudio GUI绑定,包括步骤说明及示例代码。通过简单的几步操作,开发者可以轻松地在Lua中调用CocoStudio的GUI组件。

cocos2d-x-2.2.0版本的CocoStudio的GUI绑定到lua

分类: cocos2d-x   3303人阅读  评论(18)  收藏  举报

所有testcpp里的widget示例都已实现,实现了一个GuiExample,其他的就留给大家去熟悉.其实无非就是将c代码拷贝到lua里然后修改一点...

代码,pkg和示例

使用步骤:

1.解压下载包

2.将extensions下的Cocostudio/GUI文件夹备份,然后用解压的GUI文件夹覆盖原文件夹

3.将tools/tolua++文件夹备份,将pkg.zip解压到tools/tolua++下,然后运行命令行编译出LuaCocos2d.cpp(这步编译不会的...去百度)

4.编译cocos2d-x工程,就可以在lua里使用Cocostudio的GUI里的类了


使用Hellolua工程跑示例程序:

将bin下面的所有文件夹和lua拷贝到samples\Lua\HelloLua\Resources下

将hellolua项目里的AppDelegate.cpp的函数applicationDidFinishLaunching()修改一下

[cpp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. bool AppDelegate::applicationDidFinishLaunching()  
  2. {  
  3.     // initialize director  
  4.     CCDirector *pDirector = CCDirector::sharedDirector();  
  5.     pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());  
  6.       
  7.     CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480, 320, kResolutionNoBorder);  
  8.   
  9.     // turn on display FPS  
  10.     pDirector->setDisplayStats(true);  
  11.   
  12.     // set FPS. the default value is 1.0/60 if you don't call this  
  13.     pDirector->setAnimationInterval(1.0 / 60);  
  14.   
  15.     // register lua engine  
  16.     CCLuaEngine* pEngine = CCLuaEngine::defaultEngine();  
  17.     CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine);  
  18.   
  19.     std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename("hellogui.lua");  
  20.     pEngine->executeScriptFile(path.c_str());  
  21.   
  22.     return true;  
  23. }  

然后run



lua中UIWidget注册回调函数的方法

UIWidget :registerEventScript


lua回调示例这样 (这里和v2.1.5不一样,多返回了一个调用者的UIWidget类型的指针)

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. function HandleEvent(type,widget)  
  2.       if type == "pushDown" then  
  3.           -- do something  
  4.       end  
  5. end  


现有eventType为
"pushDown"

"move"

"releaseUp"

"cancelUp"

"longClick" (这个studio还未实现)

"selected"

"unSelected"

"percentChanged"

"attachWithIME"

"detachWithIME"

"insertText"

"deleteBackward"

"berthToLeftBottom"

"berthToLeftTop"

"berthToRightBottom"

"berthToRightTop"

"berthToLeft"

"berthToTop"

"berthToRight"

"berthToBottom"

"bounceOver"

"bounceToLeftBottom"

"bounceToLeftTop"

"bounceToRightBottom"

"bounceToRightTop"

"bounceToLeft"

"bounceToTop"

"bounceToRight"

"bounceToBottom"

"initChild"

"updateChild"

"scrollToTop"

"scrollToBottom"

"scrollToLeft"

"scrollToRight"


增加CCSSceneReader绑定

CCSceneReader补丁pkg

使用方法:

1.先备份tools/tolua++文件夹然后将补丁解压到tools/tolua++下

2.运行命令行编译出LuaCocos2d.cpp

3.将工作项目链接pthreadVCE2.lib和libchipmunk.lib库,编译即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值