You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.7 KiB

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