上篇说了cocostudioGUI的UI工程加载方法,这里接着继续说说控件的事件响应方法。
其实添加方法和以前的类似,只是在最新的cocos2d-x版本中,添加的方式稍微有些改变,就是直接从加载的UIWidget中取出对应控件,然后为其添加事件响应即可,看下面的代码:
//这里有两种方式获取widget中包含的UI控件,一种是通过tag,一种是通过name
m_pUiLayer->getWidgetByTag(3)->addReleaseEvent(m_pUiLayer, coco_pushselector(HelloWorld::outputInfo));
m_pUiLayer->getWidgetByName("close_Button")->addReleaseEvent(m_pUiLayer, coco_pushselector(HelloWorld::outputInfo));
这是在加载了UILayer后,可以通过上面两种方式为这个UILayer中的控件添加事件,其中name,就是你在编辑器里为添加的按钮命名的名字属性。上面addReleaseEvent就是点击事件,其它还有移动、取消、按下等事件,这个可以自己看提示里显示的方法……然后为其添加一个回调函数即可达到我们要的效果,我是添加了一个log信息提示的回调函数:
void HelloWorld::outputInfo(CCObject* pSender){
CCLog("It will close the window!");
}
运行工程后,当你点击关闭按钮时,就会在Log中看到“It will close the window!”这条信息。