循环列表设置自动滚动后的回滚问题

我用无限循环列表做个游戏大厅页文字滚动公告。
代码如下
//设置为无限循环列表 
sliderList.GObject.asList.SetVirtualAndLoop();
//定义Item渲染方法
sliderList.GObject.asList.itemRenderer = self.SliderListItemRenderer;
//定义多少数量
sliderList.GObject.asList.numItems = 3;
//调用自动滑动方法
self.SliderItemMove().Coroutine();
然后在自动滑动(SliderItemMove)的方法里,这样写:
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以上的整数时,不再会有回滚的现象了。
 
也就是自动快速滑动的话,会 有回滚的情况,慢点自动滑动的话不会有。
 
请问这个自动滑动的方法,如何才能避免快速滑动时自动回滚呢。
 
另外,如果文字滚动公告用无限列表方式不合适做,正常情况下应该如何制作。请大佬们赐教了,谢谢大家!
 
已邀请:

谷主

赞同来自:

走马灯不用什么循环列表。就一个tween搞定。

hbszxm

赞同来自:

好吧,我想多了。我在编辑器里已经做了个走马灯,但它不能任意添加Item,只能在启动游戏时热更定好Item内容,所以想改进下。如果不考虑循环列表用tween的话,就已经搞好了。

jammey

赞同来自:

回弹禁用掉就可以了

要回复问题请先登录注册