-
Notifications
You must be signed in to change notification settings - Fork 344
APIs.zh
SVGA Player 是一个动效播放 SDK。 使用设计师插件将动效源文件一键导出 .svga 文件, 即可在多平台播放。
SVGAPlayer 是动效的载体,被用来播放动效,它继承自 View,
代码中把它当 View 使用即可。
videoItem 是当前播放的内容,
记录了动效的主要信息,是动效描述文件解析后的产物。
loops 是为播放器设置的动效循环次数,
默认值是 0,此时意味着动效会无限循环.
clearsAfterStop 决定动效结束后画布的状态,
默认值是 true 此时会在动效结束时清理画布。
fillMode 决定动效暂停时画布所在帧状态,
默认值是 Forward 意味着动效将会暂停在当前帧的下一帧,
Backward 意味着动效将会停在当前帧。
SVGAPlayer 通过代理来通知当前动效状态。
从第 0 帧开始动效,直到 loops 结束。
从第 Range.location 帧开始动效,播放 Range.length 帧,
直到 loops 结束。
reverse 决定动效是正序播放还是倒序播放,
默认值是 false,意味着动效正序播放,
true 则代表动效从最后一帧倒序播放。
从第 frame 帧渲染动效,
如果 andPlay 为 true 则会从当前帧开始播放动效。
从第 percentage * 总帧数 帧渲染动效,
percentage 的范围是 0.0 - 1.0,
如果 andPlay 为 true 则会从当前帧开始播放动效。
在当前帧暂停动效。
停止播放,
此时 clearsAfterStop 如果为 true,
画布将被清空。
通过 imageKey 将某元素动效动态隐藏。
通过 imageKey 将某元素动效动态替换成 image 对应的 Bitmap。
通过 imageKey 将某元素动效动态替换成 URL 链接的 Bitmap,
URL 对应的内容会自动下载缓存。
通过 imageKey 将某元素动效动态替换成 Text,
并通过 attributedText 设置 Text样式。
通过 imageKey 动态替换动效元素,
在 drawingBlock 中绘制将要替换的内容。
清空当前动效设置的全部 DynamicObjects。
SVGAParser 是 .svga 文件的解析器,
将设计师导出的 .svga 文件解析成 SVGAPlayer 能够识别的
SVGAVideoEntity。
也负责 .svga 加载、缓存、清理。
通过 .svga 的文件名称在 bundle 中加载动效文件。
通过 .svga 的文件 URL 在远程主机中加载动效文件。
通过封装好的 URLRequest 请求,在远程主机中加载动效文件。
Parse a svga file from stream, the cacheKey should be unique betweens files. If closeInputStream sets to true, stream will close after parse.
Delegate 设置的是 SVGA 播放器当前播放状态通知回调方法。
当动画结束时回调此方法。 注意: 当 loops 设置为 0 的时候此方法永不回调。
当动画播放到第 frame 帧时回调此方法。
当动画播放到第 percentage * 总帧数 时回调此方法。
SVGA-Samples
以上提供的 SVGA 文件可以仅供测试交流使用,
版权 yy 所有,转载请联系开发者。
// Setup a SVGAPlayer by yourself.
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
} failureBlock:nil];[...aPlayer setDrawingBlock:^(CALayer *contentLayer, NSInteger frameIndex) {
// do things by yourself
} forKey:@"banner"];imageKey 是当前动效元素的图层名称,
元素和 imageKey 对应列表一般由设计师提供,
SVGA Preview
在官网播放对应的动效,
点击 浏览素材 也可以查找元素对应的 imageKey。
SVGA-Samples 以上提供的 SVGA 文件可以仅供测试交流使用。
// Setup a SVGAPlayer by yourself.
SVGAParser *parser = [[SVGAParser alloc] init];
[parser parseWithURL:[NSURL URLWithString:@"https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"] completionBlock:^(SVGAVideoEntity * _Nullable videoItem) {
} failureBlock:nil];[...aPlayer setHidden:YES forKey:@"banner"];banner 对应的动效元素将被隐藏。
[...aPlayer setImage:iconImage forKey:@"99"];
// or
[...aPlayer setImageWithURL:[NSURL URLWithString: @"https://github.com/PonyCui/resources/blob/master/svga_replace_avatar.png?raw=true"] forKey:@"99"];99 对应的动效元素将被替换成 iconImage。
NSAttributedString *text = [[NSAttributedString alloc] initWithString:@"Pony send Kitty flowers."
attributes:@{
NSForegroundColorAttributeName: [UIColor whiteColor],
NSFontAttributeName: [UIFont boldSystemFontOfSize:28.0],
}];
[...aPlayer setAttributedText:text forKey:@"banner"];banner 对应的动效元素将被替换成 text。