在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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章