require("luaScript.Tools.Effect.UIEffectNode") -- 链接到其他Effect文件的EffectNode cc.EffectButton.ClassName = "EffectButton" function cc.EffectButton:loadFromXmlNode(xmlNode) cc.Widget.loadFromXmlNode(self , xmlNode); if xmlNode.NormalClip then self:setNormalClip(xmlNode.NormalClip); end if xmlNode.MouseDownClip then self:setMouseDownClip(xmlNode.MouseDownClip); end if xmlNode.MouseUpClip then self:setMouseUpClip(xmlNode.MouseUpClip); end if xmlNode.DisabledClip then self:setDisabledClip(xmlNode.DisabledClip); end if xmlNode.FadeInClip then self:setFadeInClip(xmlNode.FadeInClip); end if xmlNode.FadeOutClip then self:setFadeOutClip(xmlNode.FadeOutClip); end self:setEffectFile(xmlNode.EffectFile); self:setFontConfig(xmlNode.TitleFontConfig); self:setCharPadding(xmlNode.CharPadding); self:setLinePadding(xmlNode.LinePadding); self:setTitleText(xmlNode.TitleText); end -- 收集ui的文本,返回文本table function cc.EffectButton:collectText() return {TextTranslator:collect(self:getTitleText())}; end -- 翻译xmlNode里的文本,dict是字典表 function cc.EffectButton:applyDict(dict) local translated = dict[TextTranslator:collect(self:getTitleText())]; if translated then self:setTitleText(TextTranslator:translate(self:getTitleText() , translated)); end end function cc.EffectButton:createNode() local layer = cc.EffectButton:create(); return layer; end -- 注册按钮被点击的事件 function cc.EffectButton:registerClick(callbackFunc) local function onTouchEvent(sender, eventType) if eventType == cc.TouchEventType.ended then callbackFunc(self); end return true; end self:addTouchEventListener(onTouchEvent) end -- 设置默认值 function cc.EffectButton:setDefaults() local ttfConfig = {} ttfConfig.fontFilePath = "res/default/msyh.ttc" ttfConfig.fontSize = 30 ttfConfig.glyphs = cc.GLYPHCOLLECTION_DYNAMIC ttfConfig.customGlyphs = nil ttfConfig.distanceFieldEnabled = false ttfConfig.outlineSize = 0 self:setFontConfig(ttfConfig); self:setTitleText("确定"); self:setAutoSize(false); self:setSize(cc.size(100,100)); self:setEffectFile("res/default/test.effect"); -- 默认需要响应touch事件 self:setTouchEnabled(true) end