我正在考虑一个具有四个字符的简单应用程序,您可以在屏幕上拖动这些字符。拖动它们时,它们会“摆动” —这就是动画。如果它们足够靠近它们,它们就会捕捉到一个位置……就像在拼图中一样。没有动画,在UIKit中就很简单。
我的第一个想法是在普通的旧SKView
中将每个字符渲染成自己的UIView
。我可以将UIGestureRecognizers
附加到每个SKView
上以跟踪点击和拖动。但是我认为这意味着每个字符/ GameScenes
都单独使用SKView
。这似乎与SpriteKit的原则背道而驰。
替代方法是使用单个GameScene
和四个精灵。但是我仍然需要跟踪并拖动它们,而我看不到如何在全SpriteKit应用程序中执行该操作。
哪个方法比另一个方法更好?
答案 0 :(得分:0)
您应该实现一个具有单个场景并为每个角色使用单独的精灵的场景。子画面将是SKSpriteNode
实例,它们是SKNode
实例,它们从UIResponder
派生而来,因此可以响应触摸事件。
请参阅SKNode
的文档。这是适用于Sprite以及任何其他类型节点的大量信息。具体说:
所有节点都是响应者对象,可以直接响应用户与屏幕上节点的交互……
然后在后面的部分中介绍了“命中测试顺序是图纸顺序的倒序”等。