Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

68 wiersze
2.2 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local Mahjong3DGroupChi = require("mj.luaScript.Common.3d.Mahjong3DGroupChi")
  3. local GroupBaGang3D = class("GroupBaGang3D", Mahjong3DGroupChi)
  4. function GroupBaGang3D:ctor(values, viewId, groupIndex, cardNum)
  5. self._mjNum = cardNum or 0
  6. GroupBaGang3D.super.ctor(self, values, viewId, groupIndex, cardNum)
  7. end
  8. function GroupBaGang3D:createCard(value, viewId, index, groupIndex)
  9. local card = GroupBaGang3D.super.createCard(self, value, viewId, index, groupIndex)
  10. if index == 4 then
  11. local pos = card:getPosition()
  12. local offsetConfig = MJDefine.MJConfig_3d.GroupGangCardOffsetConfig[viewId]
  13. local offsetX = offsetConfig.x[groupIndex]
  14. local offsetY = offsetConfig.y[groupIndex]
  15. card:setPosition(cc.p(pos.x + offsetX, pos.y + offsetY))
  16. -- card:setOperateBackImage()
  17. -- card:setWordImageVisible(false)
  18. end
  19. return card
  20. end
  21. function GroupBaGang3D:setDirection(viewId,fromViewId)--原图方向朝上
  22. if not viewId then return end
  23. if not fromViewId then return end
  24. if viewId == fromViewId then return end
  25. local arrowDir = {
  26. [MJDefine.PlayerViewType.Right] = 270,
  27. [MJDefine.PlayerViewType.Top] = 0,
  28. [MJDefine.PlayerViewType.Left] = 90,
  29. [MJDefine.PlayerViewType.My] = 180,
  30. }
  31. if fromViewId and arrowDir[fromViewId] then
  32. local centerCard = self._cardNodes[2] --取到每个吃牌组中间那张牌
  33. local x = centerCard:getPositionX()
  34. local y = centerCard:getPositionY()
  35. local imgPos3d = {
  36. [MJDefine.PlayerViewType.Right] = cc.p(x-45,y+8),
  37. [MJDefine.PlayerViewType.Top] = cc.p(x,-30),
  38. [MJDefine.PlayerViewType.Left] = cc.p(0+30,y),
  39. [MJDefine.PlayerViewType.My] = cc.p(x+3,y+50),
  40. }
  41. local arrowImg = cc.ImageView:createNode()
  42. arrowImg:loadTextureFromPlist("mj_room_cpg_direction.png");
  43. arrowImg:setEulerRotation(cc.vec3(0,0,arrowDir[fromViewId]))
  44. --3d
  45. if viewId == MJDefine.PlayerViewType.Left then
  46. arrowImg:setScale(0.8)
  47. elseif viewId == MJDefine.PlayerViewType.Top then
  48. arrowImg:setScale(0.8)
  49. elseif viewId == MJDefine.PlayerViewType.Right then
  50. arrowImg:setScale(0.8)
  51. end
  52. arrowImg:setPosition(imgPos3d[viewId])
  53. self:addChild(arrowImg,2,2)
  54. end
  55. end
  56. return GroupBaGang3D