【游戏客户端】实现卡牌翻转效果
之前的博客中,我和大家分享了如何做:
- 商业化的充值活动 :【商业化充值活动博客】
- 抽卡系统:【抽奖,抽卡系统博客】
- 装备系统:【装备系统博客】
- 红点系统:【红点系统博客】
- 商店&拍卖系统:【商店&拍卖系统】
- UI环绕特效:【UI环绕特效】
- 实现刮刮乐效果:【实现刮刮乐效果】
最近在玩三国志战略版的时候,抽武将看到了其“卡牌翻转”的效果,感觉很神奇,于是乎研究了一下如何实现(下图是网上找的一个栗子)
(一)视觉误差
在上图中,我们看到卡牌在被点击了之后实现了“翻转”,仿佛和我们的现时中的翻拍一模一样,但实际上是这样吗?我们把这个过程放慢了看看:
可以看到,卡牌并没有翻转的动作,只是很简单的往X轴进行缩放而已,只不过是速度较快让眼睛产生了视觉误差,知道原理后就很容易解了
(二)实现思路
所以实现效果的流程就是,先对卡牌的X轴进行缩放,从1到0。然后把”正面“的UI隐藏起来,然后展示”背面“的控件(setVisible),最后再把卡牌的X轴进行从0到1的缩放就可以啦,在我所使用的引擎中有两种方法可以实现这个过程
(1)计时器大法schedule
先生成一个计时器,然后我们设定好每个步骤时间,然后让动作随着时间去进行执行就可以了
(2)顺序执行的动作Sequence
除了计时器之外,我们还可以用Sequence顺序执行动作,比如先ScaleTo从1到0,然后第二个动作ScaleTo从0到1,然后把这两个动作作为参数传递给Sequence就可以顺序执行了