第一次转换到新场景时,iOS应用程序会挂起

时间:2015-07-28 06:13:00

标签: ios

当我尝试从“主菜单”场景转换到“AI游戏场景”时,我的应用程序挂了大约2秒钟。所有动画都会冻结,应用程序在短时间内不会执行任何操作。

这是我转换到新场景的代码。如果您需要查看任何其他代码来诊断问题,我可以提供它!

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
    /* Called when a touch begins */

    for touch in (touches as! Set<UITouch>) {
        //location is where they touched
        let location = touch.locationInNode(self)

        //the node at that location
        let selectedNode = self.nodeAtPoint(location)

        if(selectedNode.name == "Play AI"){
            let transition = SKTransition.crossFadeWithDuration(2)

            let scene = AIGameScene(size: self.scene!.size)
            scene.scaleMode = SKSceneScaleMode.AspectFill

            self.scene!.view!.presentScene(scene, transition: transition)
        }
    }

我用'print'语句包围了以下行,发现这是导致挂起问题的行:

self.scene!.view!.presentScene(scene, transition: transition)

有趣的是,它只会在第一次转换到此场景时挂起。当我完成我的游戏并返回主菜单后,我可以再次点击“Play Versus AI”,这次应用程序将不会挂起!同样,转换回主菜单屏幕也不会挂起。这是第一次。

0 个答案:

没有答案