Não pode escolher mais do que 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.

278 linhas
8.7 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJ=MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
  3. local huamajiangAnimationCompnent = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Compnent.MJAnimationCompnent")
  4. function huamajiangAnimationCompnent.CreateOperareEffect(opType,callback)
  5. if huamajiangAnimationCompnent.effect[opType] then
  6. -- local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  7. local sprite=cc.Sprite:create(huamajiangAnimationCompnent.effect[opType])
  8. sprite:setOpacity(150)
  9. sprite:setScale(0.5)
  10. -- sprite:addChild(bg,-1)
  11. -- local size= sprite:getContentSize()
  12. -- bg:setPosition(cc.p(size.width/2,size.height/2))
  13. local action={
  14. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.2,1)),cc.FadeTo:create(0.2,255)),
  15. cc.DelayTime:create(0.2),
  16. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.1,0)),cc.FadeTo:create(0.1,100)),
  17. cc.CallFunc:create(function()
  18. if callback then
  19. callback()
  20. end
  21. end),
  22. cc.RemoveSelf:create(),
  23. }
  24. sprite:runAction(cc.Sequence:create(action))
  25. return sprite
  26. end
  27. end
  28. function huamajiangAnimationCompnent.CreateHuEffect(huType,callback)
  29. local sprite
  30. if huType == MJDefine.MJGameHuType.HU_ZIMO then
  31. sprite=cc.Sprite:create(huamajiangAnimationCompnent.effect[MJDefine.MJOperateType.OPREATE_ZIMOHU])
  32. elseif huType == MJDefine.MJGameHuType.HU_QIANGGANG then
  33. sprite=cc.Sprite:create(huamajiangAnimationCompnent.effect[MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU])
  34. else
  35. sprite=cc.Sprite:create(huamajiangAnimationCompnent.effect[MJDefine.MJOperateType.OPREATE_DIANPAOHU])
  36. end
  37. -- local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  38. -- sprite:addChild(bg,-1)
  39. -- local size= sprite:getContentSize()
  40. -- bg:setPosition(cc.p(size.width/2,size.height/2))
  41. sprite:setOpacity(150)
  42. sprite:setScale(0.5)
  43. local action={
  44. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.2,1)),cc.FadeTo:create(0.2,255)),
  45. cc.DelayTime:create(0.6),
  46. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  47. cc.RemoveSelf:create(),
  48. cc.CallFunc:create(function()
  49. if callback then
  50. callback()
  51. end
  52. end),
  53. }
  54. sprite:runAction(cc.Sequence:create(action))
  55. return sprite
  56. end
  57. function huamajiangAnimationCompnent.CreateHuOrderEffect(huType,order,callback)
  58. local orderNum = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_num"..order..".png")
  59. local sprite = nil
  60. if huType == MJDefine.MJGameHuType.HU_ZIMO then
  61. sprite=cc.Sprite:create(huamajiangAnimationCompnent.effect[MJDefine.MJOperateType.OPREATE_ZIMOHU])
  62. orderNum:setPosition(cc.p(370,91))
  63. else
  64. sprite=cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_jiepao.png")
  65. orderNum:setPosition(cc.p(380,91))
  66. end
  67. sprite:addChild(orderNum)
  68. local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  69. sprite:addChild(bg,-1)
  70. local size= sprite:getContentSize()
  71. bg:setPosition(cc.p(size.width/2,size.height/2))
  72. sprite:setScale(0.5)
  73. local action={
  74. cc.DelayTime:create(0.2),
  75. cc.CallFunc:create(function()
  76. if callback then
  77. callback()
  78. end
  79. end),
  80. }
  81. sprite:runAction(cc.Sequence:create(action))
  82. return sprite
  83. end
  84. -- 爆牌
  85. function huamajiangAnimationCompnent.CreateBaoEffect(callback)
  86. local sprite = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_baojiao.png")
  87. sprite:setOpacity(150)
  88. sprite:setScale(0.5)
  89. local bg = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_text_bg.png")
  90. sprite:addChild(bg,-1)
  91. local size= sprite:getContentSize()
  92. bg:setPosition(cc.p(size.width/2,size.height/2))
  93. local action = {
  94. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,1)),cc.FadeTo:create(0.3,255)),
  95. cc.DelayTime:create(0.5),
  96. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  97. cc.CallFunc:create(function()
  98. if callback then
  99. callback()
  100. end
  101. end),
  102. cc.RemoveSelf:create(),
  103. }
  104. sprite:runAction(cc.Sequence:create(action))
  105. return sprite
  106. end
  107. -- 放炮
  108. function huamajiangAnimationCompnent.CreateDianPaoEffect(callback)
  109. local sprite = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_fangpao.png")
  110. sprite:setOpacity(150)
  111. sprite:setScale(0.5)
  112. local action = {
  113. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.2,1)),cc.FadeTo:create(0.2,255)),
  114. cc.DelayTime:create(0.6),
  115. cc.Spawn:create(cc.EaseBackIn:create(cc.ScaleTo:create(0.2,0)),cc.FadeTo:create(0.2,100)),
  116. cc.CallFunc:create(function()
  117. if callback then
  118. callback()
  119. end
  120. end),
  121. cc.RemoveSelf:create(),
  122. }
  123. sprite:runAction(cc.Sequence:create(action))
  124. return sprite
  125. end
  126. function huamajiangAnimationCompnent.CreateStartSendCards(handViews,callback)
  127. local index=0
  128. local t=0.05
  129. local height=60
  130. local PCount = table.nums(handViews)
  131. for k,v in pairs(handViews) do
  132. for _,mj in pairs(v.handCards) do
  133. mj:setOpacity(0)--setVisible(false)
  134. end
  135. local startIndex=1
  136. local function nextAction()
  137. for i=startIndex,startIndex+3 do
  138. if v.handCards[i] then
  139. -- v.handCards[i]:setVisible(true)
  140. v.handCards[i]:setPositionY(v.handCards[i]:getPositionY()+height)
  141. v.handCards[i]:runAction(cc.EaseIn:create(cc.MoveBy:create(t,cc.p(0,-height)),t))
  142. v.handCards[i]:runAction(cc.FadeTo:create(t, 255))
  143. -- v.handCards[i]:runAction(cc.Sequence:create(cc.MoveBy:create(0.3,cc.p(0,-50)),cc.CallFunc(function()
  144. -- v.handCards[i]:setVisible(true)
  145. -- end)))
  146. end
  147. --[[if i==#v.handCards then
  148. v:stopAllActions()
  149. end--]]
  150. end
  151. startIndex=startIndex+4
  152. end
  153. local actions={
  154. cc.DelayTime:create(t*index),
  155. cc.CallFunc:create(nextAction),
  156. cc.DelayTime:create(t*PCount),
  157. cc.CallFunc:create(nextAction),
  158. cc.DelayTime:create(t*PCount),
  159. cc.CallFunc:create(nextAction),
  160. cc.DelayTime:create(t*PCount),
  161. cc.CallFunc:create(nextAction),
  162. }
  163. if index==table.nums(handViews)-1 then
  164. table.insert(actions,cc.DelayTime:create(0.3))
  165. table.insert(actions,cc.CallFunc:create(function()
  166. if callback then callback() end
  167. end))
  168. end
  169. v:runAction(cc.Sequence:create(actions))
  170. index=index+1
  171. end
  172. end
  173. -- 飘
  174. function huamajiangAnimationCompnent.CreatePiaoEffect(callback, isRemoveSelf)
  175. isRemoveSelf = false
  176. local sprite = cc.Sprite:create("mj/res/ui/zy_fangjian/operate/mj_effect_piao.png")
  177. sprite:setOpacity(150)
  178. sprite:setScale(isRemoveSelf and 0.5 or 0.3)
  179. local action={
  180. cc.Spawn:create(cc.EaseBackOut:create(cc.ScaleTo:create(0.3,isRemoveSelf and 1.0 or 0.5)),cc.FadeTo:create(0.3,255)),
  181. cc.DelayTime:create(0.2),
  182. 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)),
  183. cc.CallFunc:create(function()
  184. if callback then
  185. callback()
  186. end
  187. end),
  188. isRemoveSelf and cc.RemoveSelf:create()
  189. }
  190. sprite:runAction(cc.Sequence:create(action))
  191. return sprite
  192. end
  193. --刮风光效
  194. function huamajiangAnimationCompnent.createGuaFengEffect()
  195. -- 加载第一张图片
  196. local nodeImage = cc.ImageView:createNode()
  197. nodeImage:loadTexture(string.format("guafeng_%d",0))
  198. -- 循环修改图片
  199. local everyFrame = 0.055
  200. local indexFace = 0
  201. local indexMax = 18
  202. local action1 = cc.Sequence:create(cc.DelayTime:create(everyFrame),cc.CallFunc:create(function ()
  203. indexFace = indexFace + 1
  204. if 0 < indexFace and indexFace < indexMax then
  205. else
  206. nodeImage:removeFromParent()
  207. return
  208. end
  209. local name = string.format("guafeng_%d.png",indexFace)
  210. if not tolua.isnull(nodeImage) then
  211. nodeImage:loadTexture(name, cc.TextureResType.plistType)
  212. end
  213. end))
  214. local action2 = cc.Repeat:create(action1, indexMax+1)
  215. --nodeImage:stopAllActions()
  216. --nodeImage:runAction(cc.RepeatForever:create(action2));
  217. nodeImage:runAction(action2)
  218. nodeImage:setVisible(true)
  219. nodeImage:setScale(1.7)
  220. return nodeImage
  221. end
  222. --下雨光效
  223. function huamajiangAnimationCompnent.createXiaYuEffect()
  224. -- 加载第一张图片
  225. local nodeImage = cc.ImageView:createNode()
  226. nodeImage:loadTexture(string.format("xiayu-animation_%d",0))
  227. -- 循环修改图片
  228. local everyFrame = 0.055
  229. local indexFace = 0
  230. local indexMax = 16
  231. local action1 = cc.Sequence:create(cc.DelayTime:create(everyFrame),cc.CallFunc:create(function ()
  232. indexFace = indexFace + 1
  233. if 0 < indexFace and indexFace < indexMax then
  234. else
  235. nodeImage:removeFromParent()
  236. return
  237. end
  238. local name = string.format("xiayu-animation_%d.png",indexFace)
  239. if not tolua.isnull(nodeImage) then
  240. nodeImage:loadTexture(name, cc.TextureResType.plistType)
  241. end
  242. end))
  243. local action2 = cc.Repeat:create(action1, indexMax+1)
  244. --nodeImage:stopAllActions()
  245. --nodeImage:runAction(cc.RepeatForever:create(action2));
  246. nodeImage:runAction(action2)
  247. nodeImage:setVisible(true)
  248. nodeImage:setScale(1.7)
  249. return nodeImage
  250. end
  251. return huamajiangAnimationCompnent