最近做的一个游戏中需要实现像LOL选择皮肤那样的效果用于给用户选择英雄,其实就是一种卡片抽换效果,还要求卡片根据后台提供的数据动态生成一定数量。
上网找了很多很多大神提供的方法及原码,有些的确成功了,但因为制作原理对于我这种初试Unity开发的小白过于复杂,其中很多动效原理至今没搞明白,然而课程项目又急着要求实现,并没有过多的时间让我去慢慢研究。于是我开始尝试另辟蹊径用简单一点,小白一点的方法去实现。由于如今代码因为和后台对接已经面目全非,就不好放出来了,具体效果日后等项目完全完成再放出来,所以本篇文章只是介绍下我的简单实现思路。
首先,研究下这种卡片抽换效果,总体流程可以归纳为:做出点击动作->中间卡片发生位移->旁边卡片位移至中间位置取代原中间卡片->原中间卡片同一时间移向一旁并且变暗或透明度发生变化。
那么这就简单了,我们完全可以简化为:动态生成多张卡片,把他们的activ设置为false,点击按钮,对应卡片发生位移(这里我们可以固定三个坐标:左中右),当点击的是左移按钮,中间卡片移动至左坐标上,修改它的透明度或者直接设置它的active为false让他消失,同时右坐标上生成一个卡片(设置它activ为true),让他左移至中间坐标处。
这样简单的卡片抽换效果就完成了,所使用到的也无非是UI的移动和控制它的透明度什么的,虽然效果可能在专业游戏制作人看来有点low(实际上就像是PPT的切换效果),但你只要用心改改,装饰的好看点还是可以赢得玩家认可的。