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

And*_*mig 4 objective-c sprite-kit skscene

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

这些东西的正确位置在哪里:init?didMoveToView?别的什么?

The*_*erg 8

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

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

就个人而言,我更喜欢在init方法中做所有事情.