Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

214 righe
6.6 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJAnimationCompnent={}
  3. MJAnimationCompnent.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. }
  13. function MJAnimationCompnent.CreateOperareEffect(opType,callback)
  14. if MJAnimationCompnent.effect[opType] then
  15. -- local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  16. local sprite=cc.Sprite:create(MJAnimationCompnent.effect[opType])
  17. sprite:setOpacity(150)
  18. sprite:setScale(0.5)
  19. -- sprite:addChild(bg,-1)
  20. -- local size= sprite:getContentSize()
  21. -- bg:setPosition(cc.p(size.width/2,size.height/2))
  22. local action={
  23. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  24. cc.DelayTime:create(0.2),
  25. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  26. cc.CallFunc:create(function()
  27. if callback then
  28. callback()
  29. end
  30. end),
  31. cc.RemoveSelf:create(),
  32. }
  33. sprite:runAction(cc.Sequence:create(action))
  34. return sprite
  35. end
  36. end
  37. function MJAnimationCompnent.CreateGameStart(callback)
  38. local ui=loadUI("mj/res/ui/ui_animation/mj_start_animation.ui")
  39. ui:playClip("start",function()
  40. if callback then
  41. callback()
  42. end
  43. ui:removeFromParent()
  44. end)
  45. return ui
  46. end
  47. function MJAnimationCompnent.CreateHuEffect(callback)
  48. -- if effect[opType] then
  49. -- local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  50. local sprite=cc.Sprite:create(MJAnimationCompnent.effect[MJDefine.MJOperateType.OPREATE_DIANPAOHU])
  51. -- sprite:addChild(bg,-1)
  52. -- local size= sprite:getContentSize()
  53. -- bg:setPosition(cc.p(size.width/2,size.height/2))
  54. sprite:setOpacity(150)
  55. sprite:setScale(0.5)
  56. local action={
  57. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  58. cc.DelayTime:create(0.5),
  59. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  60. cc.CallFunc:create(function()
  61. if callback then
  62. callback()
  63. end
  64. end),
  65. cc.RemoveSelf:create(),
  66. }
  67. sprite:runAction(cc.Sequence:create(action))
  68. return sprite
  69. -- end
  70. -- return MJAnimationCompnent.CreateOperareEffect(MJDefine.MJOperateType.OPREATE_DIANPAOHU,callback)
  71. -- local ui=loadUI("mj/res/ui/ui_animation/mj_hu_animation.ui")
  72. -- ui:playClip("start",function()
  73. -- if callback then
  74. -- callback()
  75. -- end
  76. -- ui:removeFromParent()
  77. -- end)
  78. -- return ui
  79. end
  80. function MJAnimationCompnent.CreateLiuJuEffect(callback)
  81. local ui=loadUI("mj/res/ui/ui_animation/mj_liu_ju_animation.ui")
  82. ui:playClip("start",function()
  83. ui:runAction(cc.Sequence:create(cc.DelayTime:create(1),cc.CallFunc:create(function()
  84. if callback then
  85. callback()
  86. end
  87. ui:removeFromParent()
  88. end)))
  89. ui:setVisible(false)
  90. end)
  91. return ui
  92. end
  93. function MJAnimationCompnent.CreateStartSendCards(handViews,callback)
  94. local index=0
  95. local t=0.1
  96. local height=60
  97. for k,v in pairs(handViews) do
  98. for _,mj in pairs(v.handCards) do
  99. mj:setOpacity(0)--setVisible(false)
  100. end
  101. local startIndex=1
  102. local function nextAction()
  103. for i=startIndex,startIndex+3 do
  104. if v.handCards[i] then
  105. -- v.handCards[i]:setVisible(true)
  106. v.handCards[i]:setPositionY(v.handCards[i]:getPositionY()+height)
  107. v.handCards[i]:runAction(cc.EaseIn:create(cc.MoveBy:create(t,cc.p(0,-height)),t))
  108. v.handCards[i]:runAction(cc.FadeTo:create(t, 255))
  109. -- v.handCards[i]:runAction(cc.Sequence:create(cc.MoveBy:create(0.3,cc.p(0,-50)),cc.CallFunc(function()
  110. -- v.handCards[i]:setVisible(true)
  111. -- end)))
  112. end
  113. --[[if i==#v.handCards then
  114. v:stopAllActions()
  115. end--]]
  116. end
  117. startIndex=startIndex+4
  118. end
  119. local actions={
  120. cc.DelayTime:create(t*index),
  121. cc.CallFunc:create(nextAction),
  122. cc.DelayTime:create(t*4),
  123. cc.CallFunc:create(nextAction),
  124. cc.DelayTime:create(t*4),
  125. cc.CallFunc:create(nextAction),
  126. cc.DelayTime:create(t*4),
  127. cc.CallFunc:create(nextAction),
  128. }
  129. if index==table.nums(handViews)-1 then
  130. table.insert(actions,cc.DelayTime:create(0.3))
  131. table.insert(actions,cc.CallFunc:create(function()
  132. if callback then callback() end
  133. end))
  134. end
  135. v:runAction(cc.Sequence:create(actions))
  136. index=index+1
  137. end
  138. end
  139. function MJAnimationCompnent.CreateXiPai(parent,pos,callback,viewId)
  140. MJAnimationCompnent.playAniOnce(parent,36,0.08,"mj_xipai_%d.png",pos,callback,MJDefine.MJXiPaiConfig[viewId].angle,1)
  141. end
  142. function MJAnimationCompnent.playAniOnce(parent,max,everyFrame,path,pos,callback,angle,times)
  143. local firstImg = string.format(path,1)
  144. -- 创建图片
  145. local nodeImage = cc.ImageView:createNode()
  146. nodeImage:loadTextureFromPlist(firstImg);
  147. parent:addChild(nodeImage)
  148. local size = parent:getContentSize();
  149. nodeImage:setPosition(pos);
  150. local angle = angle or 0
  151. local times = times or 1
  152. local curIndexTime = 1
  153. nodeImage:setEulerRotation(angle)
  154. --判断纹理是否存在
  155. local cache = cc.SpriteFrameCache:getInstance()
  156. local spriteFrame = cache:getSpriteFrameByName(firstImg);
  157. if tolua.isnull(spriteFrame) then
  158. print("spriteFrame is not in cache")
  159. nodeImage:removeFromParent()
  160. return
  161. end
  162. if scale then
  163. nodeImage:setScale(scale)
  164. end
  165. nodeImage:runAction(cc.Sequence:create(cc.CallFunc:create(function ()
  166. local indexFace = 0;
  167. --每隔多少秒切换一张图片
  168. --local everyFrame = 0.1;
  169. local seq = cc.Sequence:create(cc.DelayTime:create(everyFrame),cc.CallFunc:create(function ()
  170. indexFace = indexFace + 1
  171. if 0 < indexFace and indexFace <= max then
  172. local name = string.format(path,indexFace)
  173. if not tolua.isnull(nodeImage) then
  174. nodeImage:loadTexture(name, cc.TextureResType.plistType)
  175. end
  176. else
  177. indexFace = 0
  178. end
  179. end))
  180. local seq2 = cc.Sequence:create(cc.Repeat:create(seq,max),cc.CallFunc:create(function ()
  181. if times == curIndexTime then
  182. nodeImage:removeFromParent()
  183. if callback then
  184. callback()
  185. end
  186. end
  187. curIndexTime = curIndexTime + 1
  188. end));
  189. nodeImage:runAction(cc.Repeat:create(seq2,times))
  190. end)))
  191. end
  192. return MJAnimationCompnent