Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

291 Zeilen
9.8 KiB

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