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

原创 2016年05月30日 22:31:30

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


    -- 卡牌旋转动画
    -- 需要2张图,一张正面一张背面,否则会看到一张正面旋转了360度

    local cardFace = self.rootLayer:getChildByName('CARD')
    local cardBack = self.rootLayer:getChildByName('CARD_BACK')

    -- 单面旋转
    --cardFace:runAction( cc.OrbitCamera:create(4, 1, 0, 0, 360*4, 0, 0) )

    -- 正反面旋转
    local aniTime = 0.25
    ---[[
    self.rootLayer:runAction( cc.Repeat:create( cc.Sequence:create( 
        cc.CallFunc:create(
            function ( sender )
                cardFace:setVisible(true)
                cardBack:setVisible(false)
                cardFace:runAction( cc.OrbitCamera:create(aniTime/2, 1, 0, 0, 80, 0, 0) )
            end),
        cc.DelayTime:create(aniTime/2),
        cc.CallFunc:create(
            function ( sender )
                cardFace:setVisible(false)
                cardBack:setVisible(true)
                cardBack:runAction( cc.OrbitCamera:create(aniTime, 1, 0, 80, 180, 0, 0) )
            end),
        cc.DelayTime:create(aniTime),
        cc.CallFunc:create(
            function ( sender )
                cardFace:setVisible(true)
                cardBack:setVisible(false)
                cardFace:runAction( cc.OrbitCamera:create(aniTime/2, 1, 0, 270, 90, 0, 0) )
            end),
        cc.DelayTime:create(aniTime/2)
        ), 5) )
    --]]
主要是利用了cc.OrbitCamera实现翻转,参数分别为:时间,半径,半径变化,起始z角度,翻转z角度,起始x角度,翻转x角度


解释如下:

2张牌,正反面

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

这里特别注意:

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


效果:



相关文章推荐

Cocos2d-x 3.2 Lua示例 ActionTest(动作测试)

Cocos2d-x 3.2 Lua示例 ActionTest(动作测试) Cocos2d-x官方真够给力的,3.1.1还没有熟悉完,3.2就出来,本篇博客继续介绍Cocos2d-x的Lua示例,关于3...
  • wwj_748
  • wwj_748
  • 2014年07月29日 23:43
  • 30177

quick lua cocos2d-x 屏幕 旋转 布局

//竖屏设计         landScapeLayer = CCLayer::create();         CCSprite  * sp1 = CCSprite::create("hello...

斗地主算法(1)

现在在公司实习用quick-coco2dx引擎写了斗地主,所有代码用lua脚本实现。我把算法封装成了一个lua类(CardUtils)所有代码可以直接拿来使用。 首先先弄清楚有那些牌型: 火箭or王...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

cocos2dx《单机斗地主》源码解剖之一 创建一副扑克牌(54张)

本项目基于cocos2dx引擎开发,根据网上搜索的斗地主文案(参见博客:斗地主规则)由本人独立完成,废话少说(本人不善言辞,我也说不出来什么废话)下面我来做个项目总结。 1.创建一副扑克牌,写代码首先...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

cocos2d-lua翻牌代码实现

local x = 20 local y = display.height/2   for i = 1,16 do--创建16张         local cardFg = display.newS...

【Cocos2d-x】实现翻牌效果

翻牌效果可以使用CCOrbitCamera实现,这是一个CCAction,使精灵视角按照球面坐标轨迹 围绕屏幕中心进行旋转。【关于CCOrbitCamera】 翻牌需要两个精灵,一个表示牌的正面,...

cocos2dx之实现扑克牌翻转效果的三种方法

最近写一款家乡的牌类游戏,自己玩玩,里面涉及到扑克牌的翻牌效果,这里简单来说一下: 一说到翻转,我马上想到了OrbitCamera这个家伙,虽然很少用,但知道它有这个效果,但代码写到一半...

Cocos2d-x3.2 Grid3D网格动作

USING_NS_CC;   class GameScene : public cocos2d::Layer { public:     static cocos2d::...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【cocos2dx 3.3 lua】04 纸牌翻转效果--类似QQ斗地主癞子效果
举报原因:
原因补充:

(最多只允许输入30个字)