【cocos2dx 3.3 lua】04 纸牌翻转效果--类似QQ斗地主癞子效果

前端之家收集整理的这篇文章主要介绍了【cocos2dx 3.3 lua】04 纸牌翻转效果--类似QQ斗地主癞子效果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

周末在家玩QQ斗地主,发现里面的癞子翻牌效果挺不错,于是想着自己做一个玩玩,于是有了如下代码


  1. -- 卡牌旋转动画
  2. -- 需要2张图,一张正面一张背面,否则会看到一张正面旋转了360
  3.  
  4. local cardFace = self.rootLayer:getChildByName('CARD')
  5. local cardBack = self.rootLayer:getChildByName('CARD_BACK')
  6.  
  7. -- 单面旋转
  8. --cardFace:runAction( cc.OrbitCamera:create(4,1,360*4,0) )
  9.  
  10. -- 正反面旋转
  11. local aniTime = 0.25
  12. ---[[
  13. self.rootLayer:runAction( cc.Repeat:create( cc.Sequence:create(
  14. cc.CallFunc:create(
  15. function ( sender )
  16. cardFace:setVisible(true)
  17. cardBack:setVisible(false)
  18. cardFace:runAction( cc.OrbitCamera:create(aniTime/2,80,0) )
  19. end),cc.DelayTime:create(aniTime/2),cc.CallFunc:create(
  20. function ( sender )
  21. cardFace:setVisible(false)
  22. cardBack:setVisible(true)
  23. cardBack:runAction( cc.OrbitCamera:create(aniTime,180,cc.DelayTime:create(aniTime),cc.CallFunc:create(
  24. function ( sender )
  25. cardFace:setVisible(true)
  26. cardBack:setVisible(false)
  27. cardFace:runAction( cc.OrbitCamera:create(aniTime/2,270,90,cc.DelayTime:create(aniTime/2)
  28. ),5) )
  29. --]]
主要是利用了cc.OrbitCamera实现翻转,参数分别为:时间,半径,半径变化,起始z角度,翻转z角度,起始x角度,翻转x角度


解释如下:

2张牌,正反面

正面牌旋转90度,隐藏,出现反面牌,旋转180度,隐藏,出现正面牌,旋转90度,回到起始位置,重复动作

这里特别注意:

第一个角度不是90而是80,因为测试发现,90度时,旋转角会超过90度,影响效果,于是取了80.


效果

猜你在找的Cocos2d-x相关文章