首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
20粒
掘友等级
iOS工程师
|
腾讯
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
112
文章 112
沸点 0
赞
112
返回
|
搜索文章
赞
文章( 112 )
沸点( 0 )
BarrageRenderer - 一个 iOS 上的弹幕渲染库
弹幕实质是多个精灵的时间上的渲染方式. PC/Web 上已经有很成熟的解决方案了; Android 上比较有名的是 BiliBili 开源的 DanmakuFlameMaster, 但是开源社区尚没有比较好的 iOS 弹幕渲染器. 觉得在二次元文化逐渐渗透的今天, 视频弹幕已经是很重要的一种情绪表达方式了. 没必要重复造轮子, BarrageRenderer 因此诞生.
弹幕动画的核心:LNDanmakuTrackController
弹幕框架本质上来说就是一种辅助使用者做动画的工具:使用者给出自己需要放到屏幕上的视图,弹幕框架为目标视图运行动画,让其可以在屏幕中动态地展示出来;动画的核心就是弹幕轨道。 轨道组件在这里被划分为了Track/TrackController两部分,Track更像是一种动画规则,T…
iOS弹幕高效加载实现方式
emotions存放这条弹幕的表情,type表示是否是自己发的,text表示弹幕内容,userName表示用户昵称。取出plist文件的数据并转换成model。 2 .根据模型生成弹幕图片,通过点击屏幕生成模型,根据模型绘制图片。 下面是具体绘制弹幕图片过程,我先简单介绍下,首…
弹幕容器和手势:LNDanmakuContainerView
弹幕容器通常需要覆盖在播放器视图上面,容器需要响应那些有弹幕区域的手势,透传那些没有弹幕区域的手势;如果希望使用CALayer系列组件做动效就需要额外处理手势,因为通常CALayer是不能响应手势,所以,我将这些繁琐的处理封装成ContainerView进行统一处理。 使用统一…
从一个弹幕开始:LNDanmakuAttributes
在制作这个框架之前,我调研了GitHub上的一些比较流行的弹幕框架;一些开源库将一条弹幕定义为一个可继承Cell或View,使用者通过继承这些cell或是View来自定义自己的弹幕视图,但我认为为使用者规定好视图的类型并不是一个弹幕框架的主要工作,说到这,想起了百岁山非常著名的…
弹幕暂存和分发:LNDanmakuDispatcher
Dispatcher的工作方式非常像配货站,通常有闲置卡车的司机会将自己的卡车信息登记在配货站,需要运送屋子的雇主把货物、目的地等信息登记在配货站,然后由专人将一些顺路的货物分配到一辆卡车上,这辆卡车装满了就发车;这种配货方式可以使运输资源得到最大限度利用。 Dispatche…
弹幕封装组件:LNDanmakuPlayer
这个文档主要LNDanmakuMaster中最重要的组件LNDanmakuPlayer;这个组件的代码量应该是整个框架中最多的;其他的主要组件通常都带有Abstract支持定义,但LNDanmakuPlayer没有,这意味着它是不可替代的。 包含了:clock、containe…
弹幕时间计算方法
LNDanmakuMaster与通常的弹幕框架的区别之一是:在它的体系中没有速度概念,所有运动的进度都是直接从 时间 -> percent 的转换,进度都是用时间直接控制的,所以对时间进行了特殊的区分。 一条弹幕从屏幕中"出现一点"到"完全消失"的总时间,称为弹幕存活时间,这个…
iOS弹幕组件LNDanmakuMaster
LNDanmakuMaster是一个轻量的弹幕播放器,通过:创建播放器->创建轨道->添加弹幕的方式进行弹幕播放,提供丰富轨道样式的同时也支持自定义轨道;对传入的弹幕的视图层没有要求(任意的View/Layer);提供多种(目前是3)弹幕分布策略;支持使用轨道组播放特殊弹幕;提…
iOS 图解弹幕功能的实现
接下来实现: 弹幕视图从底部弹上来, 依次动画向上滚动, 出屏幕就移除加入重用队列, 下次使用. 大概思路就是这样. 昨天花了个把小时完成了这个功能, 并没有进行优化,仅供参考学习.
下一页
个人成就
文章被点赞
25
文章被阅读
10,690
掘力值
218
关注了
84
关注者
14
收藏集
7
关注标签
17
加入于
2020-03-19