循环列表设置自动滚动后的回滚问题
我用无限循环列表做个游戏大厅页文字滚动公告。
代码如下
在滑动X轴的方法里,ScrollRight的第一个参数是位移的值,如果是1的话,代表位移一个item的宽度,0.1f显然是位移一个Item的宽度的10%。
问题出现了:
1、打开这个页面时,观察到列表会自动滑动11-12次(个item),然后在第12次的时候,以极快的速度回滚到第1个item的位置。
2、回滚回来后,会自动滑动5-6次(个item),然后以极快的速度回滚到第一个item的位置。从此以后,循环往复如此。
修改参数:
当我把间隔时间调到比较大的毫秒数,比如1000毫秒、3000毫秒,同时把ScrollRight的第一个参数设为1以上的整数时,不再会有回滚的现象了。
也就是自动快速滑动的话,会 有回滚的情况,慢点自动滑动的话不会有。
请问这个自动滑动的方法,如何才能避免快速滑动时自动回滚呢。
另外,如果文字滚动公告用无限列表方式不合适做,正常情况下应该如何制作。请大佬们赐教了,谢谢大家!
代码如下
//设置为无限循环列表然后在自动滑动(SliderItemMove)的方法里,这样写:
sliderList.GObject.asList.SetVirtualAndLoop();
//定义Item渲染方法
sliderList.GObject.asList.itemRenderer = self.SliderListItemRenderer;
//定义多少数量
sliderList.GObject.asList.numItems = 3;
//调用自动滑动方法
self.SliderItemMove().Coroutine();
while (!self.sliderTokenSource.IsCancellationRequested)
{
//间隔100毫秒
await ETModel.Game.Scene.GetComponent<TimerComponent>().WaitAsync(100, self.sliderTokenSource.Token);
//滑动X轴
SliderList.GObject.asList.scrollPane.ScrollRight(0.1f, true);
}
在滑动X轴的方法里,ScrollRight的第一个参数是位移的值,如果是1的话,代表位移一个item的宽度,0.1f显然是位移一个Item的宽度的10%。
问题出现了:
1、打开这个页面时,观察到列表会自动滑动11-12次(个item),然后在第12次的时候,以极快的速度回滚到第1个item的位置。
2、回滚回来后,会自动滑动5-6次(个item),然后以极快的速度回滚到第一个item的位置。从此以后,循环往复如此。
修改参数:
当我把间隔时间调到比较大的毫秒数,比如1000毫秒、3000毫秒,同时把ScrollRight的第一个参数设为1以上的整数时,不再会有回滚的现象了。
也就是自动快速滑动的话,会 有回滚的情况,慢点自动滑动的话不会有。
请问这个自动滑动的方法,如何才能避免快速滑动时自动回滚呢。
另外,如果文字滚动公告用无限列表方式不合适做,正常情况下应该如何制作。请大佬们赐教了,谢谢大家!
没有找到相关结果
已邀请:
3 个回复
谷主
赞同来自:
hbszxm
赞同来自:
jammey
赞同来自: