SVGA使用文档

SVGA动画介绍:

SVGA是YY开发的一种跨平台的开源动画格式,同时兼容 iOS / Android / Flutter / Web 多个平台的动画格式。

SVGA实现原理

SVGA动画其实就是把 Flash 或者AE 文件中的所有动画元素(位图、矢量)给提取出来,并将其在时间轴中的每帧的动画元素(位移、缩放、 旋转、透明度)导出,然后通过Player将这些信息还原

[图片上传失败...(image-a6e917-1599706046809)]

优点:

1.跨平台支持

2.集成简单,使用方便,免去写代码困扰

3.可替换指定元素

4.支持音频播放(暂不支持自定义修改)

缺点:

1.复杂动画解析较慢,对低端设备可能会卡顿

2.不适合交互的场景

3.官方只支持OC,不支持swift

集成指南

官方 GitHub:https://github.com/yyued/SVGAPlayer-iOS,

pod 'SVGAPlayer'

用法

1.创建一个 SVGAPlayer 实例

SVGAPlayer *player = [[SVGAPlayer alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
[self.view addSubview:player];
2.创建一个 SVGAParser 实例,使用以下方法从应用包中加载动画

  1. 本地加载动画
  SVGAParser *parser = [[SVGAParser alloc] init];
  [parser parseWithNamed:@"xxx" inBundle:nil completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
    
    } failureBlock:nil];
  1. 从远端服务器中加载动画
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithURL:[NSURL URLWithString:@"https://xxxx"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {

} failureBlock:nil];

3.更改svga文件元素,key是和设计共同定义好的,或者在文件解析完从item中可以获取到


SVGA使用文档_第1张图片
image.png
  1. 可以根据动画回调,添加业务处理
// 动画结束
- (void)svgaPlayerDidFinishedAnimation:(SVGAPlayer *)player;

// 播放到进度(百分比0-1)

- (void)svgaPlayerDidAnimatedToPercentage:(CGFloat)percentage;

- (void)svgaPlayerDidAnimatedToFrame:(NSInteger)frame;

你可能感兴趣的:(SVGA使用文档)