在UIKit中使用SpriteKit

时间:2018-10-03 19:29:58

标签: ios sprite-kit uikit

我正在考虑一个具有四个字符的简单应用程序,您可以在屏幕上拖动这些字符。拖动它们时,它们会“摆动” —这就是动画。如果它们足够靠近它们,它们就会捕捉到一个位置……就像在拼图中一样。没有动画,在UIKit中就很简单。

我的第一个想法是在普通的旧SKView中将每个字符渲染成自己的UIView。我可以将UIGestureRecognizers附加到每个SKView上以跟踪点击和拖动。但是我认为这意味着每个字符/ GameScenes都单独使用SKView。这似乎与SpriteKit的原则背道而驰。

替代方法是使用单个GameScene和四个精灵。但是我仍然需要跟踪并拖动它们,而我看不到如何在全SpriteKit应用程序中执行该操作。

哪个方法比另一个方法更好?

1 个答案:

答案 0 :(得分:0)

您应该实现一个具有单个场景并为每个角色使用单独的精灵的场景。子画面将是SKSpriteNode实例,它们是SKNode实例,它们从UIResponder派生而来,因此可以响应触摸事件。

请参阅SKNode的文档。这是适用于Sprite以及任何其他类型节点的大量信息。具体说:

  

所有节点都是响应者对象,可以直接响应用户与屏幕上节点的交互……

然后在后面的部分中介绍了“命中测试顺序是图纸顺序的倒序”等。