当打开一个页面,需要第一行显示当前用户能够领取奖励的按钮。
应用场景:
1.当某些游戏有在线领奖的活动,比如在线10分钟,20分钟…以此类推可以领取一些奖励,当有很多时,页面装不下的时候,我们希望显示的第一个就是玩家可以领取的奖励,比如10分钟,20分钟,30分钟奖励,玩家已经在线20分钟,当玩家点开页面,首行即是20分钟奖励的领取按钮,当然玩家也可以往下拉,查看10分钟的奖励内容。
2.每日登录领奖,等级礼包等等活动都可采用。
功能实现
这种多个相同的组件,一般都会用到ScrollView和Grid下。每次在代码里获得玩家当前可以领取的奖励的位次,用改位次乘以每一个小组件的宽,然后调用ScrollView.MoveRelative(Vector3 move)即可,注意参数是Vector3。
以上图为例,假设每行奖励的宽是50:
if (m_ScrollView != null )
{
m_ScrollView.ResetPosition();
Vector3 move = new Vector3();
move.y = OnlineTime * 50; //第几个档位的奖励*每个小组件的宽
m_ScrollView.MoveRelative(move);
}