【发布时间】:2012-03-20 00:45:23
【问题描述】:
我正在尝试找出在 iOS 中以程序动画方式动画 2D 植物生长的最佳方式。
我希望植物具有动画效果,从而给用户一种侵占的感觉。 基本上,为树枝的生长设置动画,小芽最终会变成完整的叶子。 为了给它注入一点活力,我还希望植物在生长时稍微摇摆,而不是在屏幕上感觉手绘。
我想到的一种方法是使用 CGPaths 和 Bezier 曲线来创建茎和叶的形状,但我不完全确定如何为路径的绘制设置动画。一旦我得到茎的“绘图”,我想在茎上的某些点“种植”小芽,因为线正在生长/动画,这些芽也将开始从植物向外生长。
关于完成这项任务的路线有什么建议吗?我更喜欢程序动画,而不是手绘每一帧并以这种方式制作动画。我的理由是,我认为程序化动画会花费更少的时间,让我可以更好地控制动画的不同方面,并且可以在其他项目中重复使用(更不用说,编程会很有趣!)
我看到了这篇关于动画线条绘制的博客文章: http://oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer/ 也许这将是实现我想要的结果的开始方法,我需要坐下来查看他发布的代码。
另外,也许使用 cocos2d 或类似的东西更容易做到这一点?或者,quartzcore 和 core 动画也可以正常工作。
感谢您提出的任何建议,此时任何信息都会有所帮助。
【问题讨论】:
-
您在 CAShapeLayers 方面绝对走在正确的轨道上,但是您尝试做的事情很棘手。不过,好问题!绝对在我的最爱列表中。
-
添加了一些资源链接作为非答案。也许比你想要的更多,但它是一个非常丰富的算法领域(也许比你想要的更多)。尽管如此,可能会给出一些想法。
-
我在 CW 答案中添加了一些资源,但我觉得您不是在寻找具有 L-Systems 之类的复杂 3D 树生成算法,而是如何为简单的 2D 设置动画,卡通树的生长,对吧?
标签: ios animation core-animation quartz-2d