Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

112 linhas
3.5 KiB

  1. local MJ = MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
  2. local MJChi = MJFramework.MJImport("mj.luaScript.Views.Game.MJChi")
  3. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  4. --暗杠上面的牌Y轴偏移量
  5. local GANG_OFFSET_Y=16
  6. --左边暗杠上面的牌Y轴偏移量
  7. -- local GANG_OFFSET_LEFT_Y=15
  8. --左边麻将的高度
  9. -- local MJ_HAND_CARD_LEFT_PADDING_HEIGHT=30
  10. --左边麻将的X轴偏移修正
  11. -- local MJ_HAND_CARD_LEFT_OFFSET_X=5
  12. local MJGang = class("MJGang",MJChi)
  13. function MJGang:ctor(values,viewId,desktopType)
  14. MJGang.super.ctor(self,values,viewId,desktopType)
  15. local MJOperateGangOffset=MJDefine.MJOperateGangOffset[desktopType]
  16. --在吃碰的组上添加一个麻将
  17. if self.mjs[2] and values[4] then
  18. local pos=self.mjs[2]:getPosition()
  19. local mj=MJ:new(values[4],MJDefine.MJType.Operate,self.viewId,desktopType)
  20. self:addChild(mj)
  21. if self.viewId==MJDefine.PlayerViewType.My then
  22. mj:setPosition(pos.x,pos.y+GANG_OFFSET_Y)
  23. elseif self.viewId==MJDefine.PlayerViewType.Left then
  24. mj:setPosition(pos.x-MJOperateGangOffset.x,pos.y+MJOperateGangOffset.y)
  25. self.mjs[3]:setLocalZOrder(1)
  26. elseif self.viewId==MJDefine.PlayerViewType.Right then
  27. mj:setPosition(pos.x+MJOperateGangOffset.x,pos.y+MJOperateGangOffset.y)
  28. mj:setLocalZOrder(1)
  29. elseif self.viewId==MJDefine.PlayerViewType.Top then
  30. -- mj:setScale(0.8)
  31. mj:setPosition(pos.x,pos.y+GANG_OFFSET_Y*0.8) --
  32. end
  33. table.insert(self.mjs,mj)
  34. end
  35. end
  36. -- function MJGang:ctor(values,viewId)
  37. -- self.viewId=viewId or MJDefine.PlayerViewType.My
  38. -- self.mjs={}
  39. -- local x=0
  40. -- local y=0
  41. -- --计算整个组牌的宽高
  42. -- local width=0
  43. -- local height=0
  44. -- for i=1,3 do
  45. -- if values[i] then
  46. -- local mj=MJ:new(values[i],MJDefine.MJType.Out,self.viewId)
  47. -- self:addChild(mj.card)
  48. -- local mjWidth=mj.card:getContentSize().width
  49. -- local mjHeight=mj.card:getContentSize().height
  50. -- y=mjHeight/2
  51. -- x=mjWidth/2
  52. -- --根据视图ID 计算坐标
  53. -- if self.viewId==MJDefine.PlayerViewType.My then
  54. -- x=#self.mjs*(mjWidth-MJDefine.MJOutOffSet[viewId].x)+mjWidth/2
  55. -- width=width+mjWidth
  56. -- height=mj.card:getContentSize().height
  57. -- elseif self.viewId==MJDefine.PlayerViewType.Left then
  58. -- mjHeight=mjHeight*0.65
  59. -- x=x-#self.mjs*MJ_HAND_CARD_LEFT_OFFSET_X
  60. -- y=y+mjHeight*(3-i)
  61. -- width=mjWidth
  62. -- height=height+mjHeight
  63. -- elseif self.viewId==MJDefine.PlayerViewType.Right then
  64. -- -- x=self.initX-MJ_HAND_CARD_LEFT_OFFSET_X*#self.handCards
  65. -- -- y=self.initY+MJ_HAND_CARD_LEFT_PADDING_HEIGHT*#self.handCards
  66. -- -- mj.card:setLocalZOrder(self:getContentSize().height-y)
  67. -- elseif self.viewId==MJDefine.PlayerViewType.Top then
  68. -- -- x=self.initX-mj.card:getContentSize().width*#self.handCards+MJ_HAND_CARD_TOP_OFFSET_X*#self.handCards
  69. -- end
  70. -- mj.card:setPosition(x,y)
  71. -- table.insert(self.mjs,mj.card)
  72. -- end
  73. -- end
  74. -- if self.mjs[2] and values[4] then
  75. -- local pos=self.mjs[2]:getPosition()
  76. -- local mj=MJ:new(values[4],MJDefine.MJType.Out,self.viewId)
  77. -- self:addChild(mj.card)
  78. -- if self.viewId==MJDefine.PlayerViewType.My then
  79. -- mj.card:setPosition(pos.x,pos.y+GANG_OFFSET_Y)
  80. -- elseif self.viewId==MJDefine.PlayerViewType.Left then
  81. -- mj.card:setPosition(pos.x-5,pos.y+GANG_OFFSET_LEFT_Y)
  82. -- self.mjs[3]:setLocalZOrder(1)
  83. -- elseif self.viewId==MJDefine.PlayerViewType.Right then
  84. -- elseif self.viewId==MJDefine.PlayerViewType.Top then
  85. -- end
  86. -- table.insert(self.mjs,mj.card)
  87. -- end
  88. -- self:setContentSize(cc.size(width,height))
  89. -- end
  90. return MJGang