我正在为游戏实现水平旋转木马风格的角色选择屏幕(如下图所示)。
该应用程序的结构为一个主要GameViewController
呈现不同的场景; CharacterSelectionScene
就是其中之一。
从我的研究看来,虽然并不总是建议混合UIKit
和SpriteKit
元素,但实现效果的最佳方法是使用UIColectionView
并将其添加为子视图到场景。因为它负责一些动画和弹跳效果。
Horizontal scrolling in SpriteKit (vs. a viewcontroller)
然而,它给了我一个真正的头痛!以上面的帖子为例,我将UICollectionView
子类化,但我无法使用CharacterSelectionScene
作为数据源和委托!这是理想的,因为场景是从plist加载数据的地方。
我目前正在使用我的CharacterCollectionView
作为数据源并通过集合视图的init()
a la:
collectionView = CharacterCollectionView(frame: customFrame, collectionViewLayout: layout, characterData: characterData)
这可行,但感觉就像一个坏主意,感觉有点像一个小屋。也许我错了,但作为一个相当新的程序员,我只想以正确的方式做到这一点!
有人能指出我正确的方向吗?我在这里走错了路还是这是一个非常好的前进方式。所有建议/指示赞赏!