spritekit游戏中的动态Bezier绘图 - 最佳(性能)方法?

时间:2014-08-08 22:51:55

标签: ios objective-c drawing sprite-kit bezier

我不是iOS开发人员,我刚刚开始实现我的游戏,我已经在flash中完成了,希望使用原生环境可以超级快。

该项目是一款2D游戏,根据用户的互动有很多动态贝塞尔绘图。基本上我绘制动态blob(变形虫类型的形状)。

首先我尝试了Swift,它与actionscript非常相似,但事实证明,在Xcode6的最终版本发布之前,Apple无法接受使用Swift构建的应用程序,因为我希望在9月份之前发布我的游戏目标C路线。

我想使用sprite kit,因为它集成了物理引擎,sprite层次结构等。

我尝试使用SKSphapeNode绘图,但我很快意识到它,它不适合我的需要。 (如果厚度超过2个像素,则无法绘制笔划,内存泄漏等。)

所以我使用了放入UIImage的UIBezierPath,但我对性能不满意,因为我必须使用新的动态生成的bezier形状创建一个新的UIImage。

这是我到目前为止找到的选项:

  1. SkShapeNode - 不适合我的游戏
  2. UIBezierPath - UIImage>我必须每帧创建一个新的UIImage,所以它很慢
  3. OpenGL - 我还没有尝试过,我不确定是否可以将它与Sprite kit一起使用
  4. CALayer - 我正在尝试将它与spritekit集成,但我有一种感觉,我会遇到与UIImage方法相同的问题。
  5. 有没有人有任何想法,提示哪种方法最佳表现?

    提前感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

我尝试使用SpriteKit创建闪电效果,所以请查看我的文章:https://andreygordeev.com/2014/11/01/lightning-with-srite-kit.html

有些方法使用UIBezierPath,因此您可能会觉得有用。