在init方法中配置(定位sprite,添加可见节点等)SKScene的内容是否可以?
这些事情的正确位置:init? didMoveToView?别的什么?
答案 0 :(得分:8)
didMoveToView:。 在didMoveToView中定位和添加精灵的优点:您可以初始化许多视图,而不会占用大量内存。缺点:如果删除视图然后再次添加,则再次调用didMoveToView:。这意味着您需要确保在didMoveToView的开头重置场景:(仅当您打算删除并再次添加时)。
初始化SKScene时会调用init 。使用init进行定位和添加精灵的优点:它只被调用一次,一旦你在场景中呈现它就会准备就绪。如果您需要预加载场景以便快速切换,这可能很方便。缺点:每个场景都会占用内存所需的内存,以便在初始化时执行所有精灵添加,而不是在显示时。
就个人而言,我更喜欢在 init 方法中执行所有操作。