我目前的目标是在我的 iOS 应用程序中为图片绘制动画,以便用户可以在他们的屏幕上看到类似http://www.youtube.com/watch?v=xlDmk5WdaHk的内容。
我的绘图速度会随时间而变化,因此我使用CAKeyFrameAnimation
和构建了我的动画keyTimes
。目前,我只有一个指定绘图的所有点的 Bezier 路径,我将路径添加到CAShapeLayer
对象,然后在开始动画时将路径传递给动画对象。
我的问题:完成的绘图立即出现在屏幕上,然后我的笔光标根据我的值沿着图片移动keyTimes
,而不是让笔触颜色与我的笔光标在屏幕上的移动同时填充以产生与视频。
我注意到这个 SO 问题,推荐的解决方案是为动画中的每个点生成一个单独的路径:How to Animate CoreGraphics Drawing of Shape Using CAKeyframeAnimation
鉴于我有 100-300 个单独的点,是否有一种更有效的方法来生成时变绘图,而不是使用这种形式的路径创建一个包含几百条路径(每条路径中有几百个值)的数组:
path0 = point0...point0...point0...point0...
path1 = point0...point1...point1...point1...
path2 = point0...point1...point2...point2...
path3 = point0...point1...point2...point3...
然后采用该路径数组,将其传递给myAnimation.values
我values
的keyTimes
? 或者这真的是解决这个问题的最好方法吗?
提前致谢