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.

209 lines
7.1 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local NeiJiangMJAnimationComponent = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Compnent.MJAnimationCompnent")
  3. NeiJiangMJAnimationComponent.effect = {
  4. [MJDefine.MJOperateType.OPREATE_CHI]="mj/res/ui/zy_fangjian/operate/mj_effect_chi.png",
  5. [MJDefine.MJOperateType.OPREATE_PENG]="mj/res/ui/zy_fangjian/operate/mj_effect_peng.png",
  6. [MJDefine.MJOperateType.OPREATE_ZHIGANG]="mj/res/ui/zy_fangjian/operate/mj_effect_gang.png",
  7. [MJDefine.MJOperateType.OPREATE_BAGANG]="mj/res/ui/zy_fangjian/operate/mj_effect_gang.png",
  8. [MJDefine.MJOperateType.OPREATE_ANGANG]="mj/res/ui/zy_fangjian/operate/mj_effect_gang.png",
  9. [MJDefine.MJOperateType.OPREATE_DIANPAOHU]="mj/res/ui/zy_fangjian/operate/mj_effect_hu.png",
  10. [MJDefine.MJOperateType.OPREATE_ZIMOHU]="mj/res/ui/zy_fangjian/operate/mj_effect_zimo.png",
  11. [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = "mj/res/ui/zy_fangjian/operate/mj_effect_hu.png", --抢杠胡
  12. [MJDefine.MJOperateType.OPERATE_PIAO]="mj_neijiang_effect_piao.png",
  13. [MJDefine.MJOperateType.OPERATE_BAOJIAO]="mj_neijiang_effect_bao.png",
  14. [MJDefine.MJOperateType.OPERATE_BOZIMO]="mj_neijiang_effect_bozimo.png",
  15. };
  16. function NeiJiangMJAnimationComponent.CreateOperareEffectExt(opType,callback, isRemoveSelf)
  17. if not NeiJiangMJAnimationComponent.effect[opType] then
  18. return ;
  19. end
  20. loadSpriteFrameFile("mj_neijiang/res/zy_fangjian/mj_neijiang_operation_effect.plist")
  21. local sprite=cc.Sprite:createWithSpriteFrameName(NeiJiangMJAnimationComponent.effect[opType])
  22. sprite:setOpacity(150)
  23. sprite:setScale(isRemoveSelf and 0.5 or 0.3)
  24. local action={
  25. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,isRemoveSelf and 1.0 or 0.5)),cc.FadeTo:create(0.3,255)),
  26. cc.DelayTime:create(0.2),
  27. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2, isRemoveSelf and 0 or 0.5)),cc.FadeTo:create(0.2, isRemoveSelf and 100 or 255)),
  28. cc.CallFunc:create(function()
  29. if callback then
  30. callback()
  31. end
  32. end),
  33. isRemoveSelf and cc.RemoveSelf:create()
  34. }
  35. sprite:runAction(cc.Sequence:create(action))
  36. return sprite
  37. end
  38. function NeiJiangMJAnimationComponent.CreateHuEffect(huType,callback)
  39. local sprite
  40. if huType == MJDefine.MJGameHuType.HU_ZIMO then
  41. sprite=cc.Sprite:create(NeiJiangMJAnimationComponent.effect[MJDefine.MJOperateType.OPREATE_ZIMOHU])
  42. elseif huType == MJDefine.MJGameHuType.HU_QIANGGANG then
  43. sprite=cc.Sprite:create(NeiJiangMJAnimationComponent.effect[MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU])
  44. else
  45. sprite=cc.Sprite:create(NeiJiangMJAnimationComponent.effect[MJDefine.MJOperateType.OPREATE_DIANPAOHU])
  46. end
  47. -- local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  48. -- sprite:addChild(bg,-1)
  49. -- local size= sprite:getContentSize()
  50. -- bg:setPosition(cc.p(size.width/2,size.height/2))
  51. sprite:setOpacity(150)
  52. sprite:setScale(0.5)
  53. local action={
  54. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  55. cc.DelayTime:create(0.5),
  56. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  57. cc.RemoveSelf:create(),
  58. cc.CallFunc:create(function()
  59. if callback then
  60. callback()
  61. end
  62. end),
  63. }
  64. sprite:runAction(cc.Sequence:create(action))
  65. return sprite
  66. end
  67. function NeiJiangMJAnimationComponent.CreateHuOrderEffect(huType,order,callback)
  68. local orderNum = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_num"..order..".png")
  69. local sprite = nil
  70. if huType == MJDefine.MJGameHuType.HU_ZIMO then
  71. sprite=cc.Sprite:create(NeiJiangMJAnimationComponent.effect[MJDefine.MJOperateType.OPREATE_ZIMOHU])
  72. orderNum:setPosition(cc.p(240 * g_radio_x, 70 * g_radio_y))
  73. else
  74. sprite=cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_hu.png")
  75. orderNum:setPosition(cc.p(160 * g_radio_x, 70 * g_radio_y))
  76. end
  77. sprite:addChild(orderNum)
  78. local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  79. sprite:addChild(bg,-1)
  80. local size= sprite:getContentSize()
  81. bg:setPosition(cc.p(size.width/2,size.height/2))
  82. sprite:setScale(0.5)
  83. local action={
  84. cc.DelayTime:create(0.2),
  85. cc.CallFunc:create(function()
  86. if callback then
  87. callback()
  88. end
  89. end),
  90. }
  91. sprite:runAction(cc.Sequence:create(action))
  92. return sprite
  93. end
  94. -- 爆牌
  95. function NeiJiangMJAnimationComponent.CreateBaoEffect(callback)
  96. local sprite = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_bao.png")
  97. sprite:setOpacity(150)
  98. sprite:setScale(0.5)
  99. local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  100. sprite:addChild(bg,-1)
  101. local size= sprite:getContentSize()
  102. bg:setPosition(cc.p(size.width/2,size.height/2))
  103. local action = {
  104. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  105. cc.DelayTime:create(0.5),
  106. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  107. cc.CallFunc:create(function()
  108. if callback then
  109. callback()
  110. end
  111. end),
  112. cc.RemoveSelf:create(),
  113. }
  114. sprite:runAction(cc.Sequence:create(action))
  115. return sprite
  116. end
  117. -- 放炮
  118. function NeiJiangMJAnimationComponent.CreateDianPaoEffect(callback)
  119. local sprite = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_fangpao.png")
  120. sprite:setOpacity(150)
  121. sprite:setScale(0.5)
  122. local action = {
  123. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  124. cc.DelayTime:create(0.5),
  125. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  126. cc.CallFunc:create(function()
  127. if callback then
  128. callback()
  129. end
  130. end),
  131. cc.RemoveSelf:create(),
  132. }
  133. sprite:runAction(cc.Sequence:create(action))
  134. return sprite
  135. end
  136. function NeiJiangMJAnimationComponent.CreateStartSendCards(handViews,callback)
  137. local index=0
  138. local t=0.05
  139. local height=60
  140. local PCount = table.nums(handViews)
  141. for k,v in pairs(handViews) do
  142. for _,mj in pairs(v.handCards) do
  143. mj:setOpacity(0)--setVisible(false)
  144. end
  145. local startIndex=1
  146. local function nextAction()
  147. for i=startIndex,startIndex+3 do
  148. if v.handCards[i] then
  149. -- v.handCards[i]:setVisible(true)
  150. v.handCards[i]:setPositionY(v.handCards[i]:getPositionY()+height)
  151. v.handCards[i]:runAction(cc.EaseIn:create(cc.MoveBy:create(t,cc.p(0,-height)),t))
  152. v.handCards[i]:runAction(cc.FadeTo:create(t, 255))
  153. -- v.handCards[i]:runAction(cc.Sequence:create(cc.MoveBy:create(0.3,cc.p(0,-50)),cc.CallFunc(function()
  154. -- v.handCards[i]:setVisible(true)
  155. -- end)))
  156. end
  157. --[[if i==#v.handCards then
  158. v:stopAllActions()
  159. end--]]
  160. end
  161. startIndex=startIndex+4
  162. end
  163. local actions={
  164. cc.DelayTime:create(t*index),
  165. cc.CallFunc:create(nextAction),
  166. cc.DelayTime:create(t*PCount),
  167. cc.CallFunc:create(nextAction),
  168. cc.DelayTime:create(t*PCount),
  169. cc.CallFunc:create(nextAction),
  170. cc.DelayTime:create(t*PCount),
  171. cc.CallFunc:create(nextAction),
  172. }
  173. if index==table.nums(handViews)-1 then
  174. table.insert(actions,cc.DelayTime:create(0.3))
  175. table.insert(actions,cc.CallFunc:create(function()
  176. if callback then callback() end
  177. end))
  178. end
  179. v:runAction(cc.Sequence:create(actions))
  180. index=index+1
  181. end
  182. end
  183. return NeiJiangMJAnimationComponent