【发布时间】:2016-05-27 09:56:59
【问题描述】:
我在界面构建器中完成了几个 SKScene,其中我在屏幕上可见的 SKScene 部分中放置了几个精灵
我希望一些精灵稍后才会出现,所以我开始在 didMoveToView 方法的开头隐藏它们。
override func didMoveToView(view: SKView)
{
// Reading of the sprites created in the SKScene in the interface builder
BackgroundLayer = self.childNodeWithName("BackgroundLayer") as! SKSpriteNode
LettreB = self.childNodeWithName("B0") as! SKSpriteNode
LettreB.hidden = true
LettreR = self.childNodeWithName("R0") as! SKSpriteNode
LettreR.hidden = true
LettreI = self.childNodeWithName("I0") as! SKSpriteNode
LettreI.hidden = true
}
我遇到的问题是,在运行应用程序时,我非常短暂地看到所有精灵在它们被隐藏之前。
即使我在界面构建器中将 blendfactor 设置为 1(并将 blendmode 设置为 Alpha),精灵 - 然后在界面构建器中不再可见 - 非常短暂地出现然后在运行应用程序时消失
除了将精灵放在可见区域之外并在我需要它们出现时移动它们之外,有没有办法避免这种情况?我应该在调用 didMoveToView 之前将代码放在其他地方吗?
注意:此问题仅在直接从设备运行应用程序时发生,而不是在通过 Xcode 启动应用程序时发生,我猜出于某些性能原因。
【问题讨论】:
标签: swift interface-builder skscene sknode