local MJ = MJFramework.MJImport("mj.luaScript.Views.Game.MJ") local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine") local MJPositionCompnent=MJFramework.MJImport("mj.luaScript.Views.Compnent.MJPositionCompnent") local MJChi = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Game.MJChi") local huamajiangChi = class("huamajiangChi", MJChi) function huamajiangChi:ctor(values,viewId,desktopType) self.values = values; self.viewId=viewId or MJDefine.PlayerViewType.My self.desktopType = desktopType or MJDefine.DesktopType.ThreeD self.mjs={} local MJGroupOffSet=MJDefine.MJGroupOffSet[desktopType] -- local x=0 -- local y=0 --计算整个组牌的宽高 local width=0 local height=0 for i=1,3 do local mj if values[i] then mj=MJ:new(values[i],MJDefine.MJType.Operate,self.viewId,self.desktopType) self:addChild(mj) --self:setCardPos(mj,i) end local mjWidth=mj:getContentSize().width local mjHeight=mj:getContentSize().height --根据视图ID 计算坐标 if self.viewId==MJDefine.PlayerViewType.My then -- x=#self.mjs*(mjWidth-MJDefine.MJGroupOffSet[self.viewId].x)+mjWidth/2 width=width+mjWidth height=mj:getContentSize().height elseif self.viewId==MJDefine.PlayerViewType.Left then -- x=x-#self.mjs*MJDefine.MJGroupOffSet[self.viewId].x -- y=y+(mjHeight-MJDefine.MJGroupOffSet[self.viewId].y)*(3-i) width=mjWidth height=height+mjHeight if i<3 then height=height-MJGroupOffSet[self.viewId].y end elseif self.viewId==MJDefine.PlayerViewType.Right then -- x=x-#self.mjs*MJDefine.MJGroupOffSet[self.viewId].x -- y=y+(mjHeight-MJDefine.MJGroupOffSet[self.viewId].y)*#self.mjs width=mjWidth height=height+mjHeight if i<3 then height=height-MJGroupOffSet[self.viewId].y end mj:setLocalZOrder(3-i) elseif self.viewId==MJDefine.PlayerViewType.Top then -- local scale=1--0.8 --上面的麻将要缩小 -- mj:setScale(scale) -- x=x*scale -- y=y*scale -- x=#self.mjs*(mjWidth*scale-MJDefine.MJGroupOffSet[self.viewId].x)+mjWidth*scale/2 width=width+mjWidth height=mj:getContentSize().height end local x,y=MJPositionCompnent.getIntragroupPosition(self.viewId,mj,i,#self.mjs,self.desktopType) mj:setPosition(x,y) table.insert(self.mjs,mj) end self:setContentSize(cc.size(width,height)) end function huamajiangChi:getCards() return self.mjs; end function huamajiangChi:getValues( ) return self.values; end function huamajiangChi:refreshCardNum (mj, cardNum) mj:refreshCardNum(cardNum); self.cardNum = cardNum; end function huamajiangChi:getCardNum () return self.cardNum or 0; end return huamajiangChi