您的位置:首页 > 移动开发 > Cocos引擎

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

2016-05-30 22:31 633 查看
周末在家玩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.

效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: