美文网首页收藏ios
IOS开发对于弹幕的处理,以及无重叠弹幕的处理

IOS开发对于弹幕的处理,以及无重叠弹幕的处理

作者: 一座城漫天飞着蒲公英 | 来源:发表于2017-07-07 18:22 被阅读551次

    开头

    对于弹幕大家来说都不是很陌生,对于弹幕有比较火的的第三方框架www.cocoachina.com/ios/20161014/17751.html大家你可以参照一下。虽然有第三方框架,但是我也要分享我对于弹幕的处理的原理和以及对于弹幕重叠的处理。大家可以参考的我的代码github.com/apple5566/WLBulletViewScreen

    原理

    1.初始化好你所分配的弹幕的通道,并对分配好最前排的弹幕,设置对应的动画的效果。完成初始化弹幕的设置。

    2.对于非初始化的弹幕(就是不是最前排的弹幕)我才用了递归的方式。

    3.为了保证弹幕的之间的间距,我让每个弹幕速度保持一样,只有速度保持一样才能解决重叠的问题。

    4.弹幕的原理:当一个弹幕整个完全进入视图时,我们在分配下一个弹幕。由于速度一样,保证弹幕不会重叠。

    5.对于不间断的弹幕处理,如果当前弹幕还没加载全部完,我是拼接在后面显示。但是对于弹幕加载完了那一瞬间,我在去加载弹幕了,为了保证弹幕之间的间距我是先把他保存起来,等前面的弹幕整个完全出去了,我在去显示。

    6.本弹幕没有采用重用,因为当时我最开始也是采用了重用发现重用了有个很致命的问题,当一个弹幕动画完成的时候,我拿到了重用的弹幕进行分配通道,但是这个一瞬间用于采用了递归会跟我抢通道,这个特别难解决因此留给大家多想想。为了性能的考虑我采用了每次加载一个弹幕,当这个弹幕开始动画的时候我就删除弹幕模型的数组对应的弹幕。

    效果视图

    1.对于没有间断的弹幕图片

    2.间断的效果图

    3.具体的其他请参考运行的效果图。

    结尾

    如果大家如果又发现这个程序还有重叠弹幕请你给我提出来,也请各位大神指教一下代码哪里出错。谢谢大家。

    相关文章

      网友评论

        本文标题:IOS开发对于弹幕的处理,以及无重叠弹幕的处理

        本文链接:https://www.haomeiwen.com/subject/yvkwettx.html