|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local linshuiPositionCompnent=MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Compnent.MJPositionCompnent")
-
- function linshuiPositionCompnent.getOutCardPosition(viewId,x,y,mj,num,desktopType,playerCount)
- desktopType=desktopType or MJDefine.DesktopType.ThreeD
- local MJChangeLinCount = MJDefine.MJChangeLinCount[desktopType][playerCount]
- local MJOutChangeOffSet = MJDefine.MJOutChangeOffSet[desktopType]
- local MJOutOffSet = MJDefine.MJOutOffSet[desktopType]
- --取余计算X坐标 从起始位置开始 默认应该为0 所以要减去1
- local n=num%MJChangeLinCount[viewId]-1
- --向下取整判断是否换行
- local m=math.floor(num/MJChangeLinCount[viewId])
- --如果刚好等于0则设置为换行的数
- if num%MJChangeLinCount[viewId]==0 then
- n=MJChangeLinCount[viewId]-1
- m=m-1
- end
-
- --根据视图ID 计算坐标
- if viewId==MJDefine.PlayerViewType.My then
- x=x+(mj:getContentSize().width-MJOutChangeOffSet[viewId].x)*n
- y=y+m*(mj:getContentSize().height-MJOutChangeOffSet[viewId].y)
- mj:setLocalZOrder(120-num)
- elseif viewId==MJDefine.PlayerViewType.Left then
- x=x+m*(mj:getContentSize().width-MJOutChangeOffSet[viewId].x)-n*MJOutOffSet[viewId].x
- y=y-(mj:getContentSize().height-MJOutChangeOffSet[viewId].y)*n
- mj:setLocalZOrder(n-m)
- elseif viewId==MJDefine.PlayerViewType.Right then
- x=x-m*(mj:getContentSize().width-MJOutChangeOffSet[viewId].x)-n*MJOutOffSet[viewId].x
- y=y+(mj:getContentSize().height-MJOutChangeOffSet[viewId].y)*n
- mj:setLocalZOrder(-m-n)
- elseif viewId==MJDefine.PlayerViewType.Top then
- -- local scale=0.8 --上面的麻将要缩小
- mj:setScale(MJDefine.MJ_TOP_SCALE)
- x=x-(mj:getContentSize().width*MJDefine.MJ_TOP_SCALE-MJOutChangeOffSet[viewId].x)*n
- y=y-m*(mj:getContentSize().height*MJDefine.MJ_TOP_SCALE-MJOutChangeOffSet[viewId].y)
- mj:setLocalZOrder(720-y)
- end
-
- return x,y
- end
-
- return linshuiPositionCompnent
|