声明式地描述多步动画序列。
例如
CPAnimationSequence* shakespeare = [CPAnimationSequence sequenceWithSteps:
[CPAnimationStep for:0.2 animate:^{ self.romeo.alpha = 1.0;
self.julia.alpha = 1.0; }],
[CPAnimationStep after:1.0 for:0.7 animate:^{
CGPoint kiss = CGPointMake((self.romeo.center.x + self.julia.center.x)/2,
(self.romeo.center.y + self.julia.center.y)/2);
self.romeo.center = kiss;
self.julia.center = kiss;
}],
[CPAnimationStep after:2.0 for:0.5 animate:[self dramaticDeathAnimationStep]],
[CPAnimationStep for:0.0 animate:^{ self.theEnd.hidden = NO; }],
nil];
[shakespeare runAnimated:YES];
我在compeople 开发者博客的 Mobile Apps 部分讲述了我的考虑和可能的改进。
通过添加 CPAnimationProgram,您现在还可以并行地运行步骤(以及序列和程序),或者重叠步骤(以及序列和程序)。
这可能还处于实验阶段,因此您可能会遇到复杂重叠时出现问题。不过,它似乎运行得很好,所以不妨试试。
该组件实现了组合设计模式,这意味着您可以无限地嵌套序列和程序,只要设备内存和您的理智允许。
-fobjc-arc
。请随意评论、分叉和提交补丁请求!
感谢以下贡献者
版权(c)2011–2012 compeople AG,2013 Yang Meyer。
CPAnimationSequence 组件在 MIT 许可证下发布。