在SpriteKit中配置SKScene内容的正确位置在哪里?

时间:2014-03-09 15:35:47

标签: objective-c sprite-kit skscene

在init方法中配置(定位sprite,添加可见节点等)SKScene的内容是否可以?

这些事情的正确位置:init? didMoveToView?别的什么?

1 个答案:

答案 0 :(得分:8)

每次SKView呈现场景时都会调用

didMoveToView:。 在didMoveToView中定位和添加精灵的优点:您可以初始化许多视图,而不会占用大量内存。缺点:如果删除视图然后再次添加,则再次调用didMoveToView:。这意味着您需要确保在didMoveToView的开头重置场景:(仅当您打算删除并再次添加时)。

初始化SKScene时会调用

init 。使用init进行定位和添加精灵的优点:它只被调用一次,一旦你在场景中呈现它就会准备就绪。如果您需要预加载场景以便快速切换,这可能很方便。缺点:每个场景都会占用内存所需的内存,以便在初始化时执行所有精灵添加,而不是在显示时。

就个人而言,我更喜欢在 init 方法中执行所有操作。