在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

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...