cocos2d-x2.21版本都还没捂热,这新的2.22版本又出来了,出来就算了吧,结果连cocostudioGUI的代码也改了,不过已经支持到最新的cocostudio1.2版本了。本来想把这东西补进上一篇的博客里算了,不过可能有些人不会回头再去看上一篇文章,所以就重新写一篇把新版本的改过的封装代码及使用方法分享下吧……其实只要不是超级菜鸟应该都能在源代码中找到答案重新使用的。
最新版本把事件进一步封装了,用一个整体的触摸事件的监听代替了原来几个触摸事件的监听,就是直接枚举了……并且用了新的命名空间,看下面的使用代码:
//首先是头文件要包含的东西
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;
//这个就是新的命名空间了
using namespace gui;
//上一篇在UI中点击关闭按钮后输入一个关闭提示信息的log的回调要新加一个触摸事件参数
void outputInfo(CCObject* pSender,TouchEventType type);
//看下枚举的源代码,应该都看得懂的……
typedef enum
{
TOUCH_EVENT_BEGAN,
TOUCH_EVENT_MOVED,
TOUCH_EVENT_ENDED,
TOUCH_EVENT_CANCELED
}TouchEventType;
然后是回调时要用的新的选择器:
//这里有两种方式获取widget中包含的UI控件,一种是通过tag,一种是通过name
m_pUiLayer->getWidgetByTag(3)->addTouchEventListener(m_pUiLayer, toucheventselector(HelloWorld::outputInfo));
//新的回调代码如下
void HelloWorld::outputInfo(CCObject* pSender,TouchEventType type){
if (type==TOUCH_EVENT_ENDED){
CCLog("It will close the window!");
}
}
以上就是新版本为cocostudioGUI控件添加事件的方法,更多的使用需要对官方的例子进行研究了,新版支持对cocostudioGUI的lua绑定了,已经更加实用了,可惜没时间研究lua,得继续做自己的项目了……有新东西再继续写文章分享给广大菜鸟们,谢谢观赏……The End.