require("luaScript.Tools.Nodes.CCNode") cc.Node2D.ClassName = "Node2D"; function cc.Node2D:extend(node) end function cc.Node2D:cloneLua(node) end function cc.Node2D:saveToXmlNode(xmlNode) cc.Node.saveToXmlNode(self , xmlNode); xmlNode.AnchorPoint = self:getAnchorPoint() xmlNode.Color = self:getColor() xmlNode.Opacity = self:getOpacity() end function cc.Node2D:loadFromXmlNode(xmlNode) cc.Node.loadFromXmlNode(self , xmlNode); if xmlNode.AnchorPoint then self:setAnchorPoint(xmlNode.AnchorPoint); self:setColor(xmlNode.Color) if xmlNode.Opacity then self:setOpacity(xmlNode.Opacity) end end end function cc.Node2D:createNode() local node = cc.Node2D:create(); self:extend(node); return node; end -- 注册点击事件(判断节点大小,全屏的,但是会根据渲染顺序派发) function cc.Node2D:registerClick(onClick) local function onTouchBegan(touch , event) if not self:isVisibleR() then return false; end local point = touch:getLocation(); local nsp = self:convertToNodeSpace2D(point); local size = self:getContentSize(); local bb = cc.rect(0,0 , size.width , size.height); if cc.rectContainsPoint(bb , nsp) then onClick(); return true; end return false; end self:setTouchEnabled(true) self:registerTouch(onTouchBegan); end