在Quick Cocos2d-x中给CocosStudio中导出的UI(Widget)控件增加触摸(touch)事件

前端之家收集整理的这篇文章主要介绍了在Quick Cocos2d-x中给CocosStudio中导出的UI(Widget)控件增加触摸(touch)事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

第一步:项目组UI用CocosStudio做好UI控件后,在里面有一个后缀为.xml.ui的文件,双击这个文件就可以打开做好的UI。

第二步:按Ctrl + E,将“排序样式” 改成 “Intelligent”,然后导出。

第三步:将导出的文件全部复制到项目的res目录下。

第四步:在对应的界面ctor函数中,添加如下代码(笔者使用的是Sublime Text 2)

    local layer = TouchGroup:create()
    layer:addWidget(GUIReader:shareReader():widgetFromJsonFile("XXXXXXX.ExportJson"))
    self:addChild(layer,1000)

到这里运行,就可以看到做好的UI布局了。

-------------------------------------------------------华丽的分割线------------------------------------------------------------

第五步:在上述代码下面增加如下代码

    self.myBtn = layer:getWidgetByName(btnName)--btnName即为CocosStudio中,选中控件后,在右侧的“属性”栏-“常规”中的“名称”
    --self.myBtn:setTouchEnabled(true)--注:由于CocosStudio中将控件设置了“交互”属性,可以去掉这条语句。
    self.myBtn:addTouchEventListener(function (sender,event)--event是触摸类型,0,1,2,3分别是began,moved,ended,canceled
        if event == 0 then
			--操作代码
            return false
        end
    end)

注:参考http://www.cocoachina.com/bbs/read.php?tid=204622

猜你在找的Cocos2d-x相关文章