我試圖從默認的根場景轉換到帶有SpriteKit的新場景。但是,無論何時按下「開始」按鈕,它都會將舊場景灰化(儘管它仍然可見),並且繪圖板標籤顯示出來。現場仍然灰暗。舊場景中的所有按鈕仍然可以按下,但不執行相關操作。一個UIButton觸發此FUNC:場景過渡衰落但不切換場景
startButton.addTarget(self, action: "goToDrawingBoard:", forControlEvents: UIControlEvents.TouchUpInside)
的FUNC:
@objc func goToDrawingBoard(sender: UIButton){
let drawingBoardScene = DrawingBoardScene(size: self.size)
self.scene?.view?.presentScene(drawingBoardScene, transition: SKTransition.crossFadeWithDuration(1.0))
}
而且DrawingBoardScene.swift文件:
import Foundation
import SpriteKit
import UIKit
class DrawingBoardScene: SKScene {
let titleLabel = SKLabelNode(text: "DRAWING BOARD")
override func didMoveToView(view: SKView) {
/*LABEL: Displays title*/
titleLabel.fontColor = UIColor.blackColor()
titleLabel.fontSize = 60
titleLabel.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
self.addChild(titleLabel)
}
}
沒有足夠的信息來說肯定,但可選的鏈接看起來懷疑:在'self.scene?.view?.presentScene'中,如果'scene'或'view'爲零,'presentScene'不會是調用。在類中,「goToDrawingBoard」是否有意義鏈接?你測試了'self.scene'和'self.scene.view'的值嗎? – rickster
goToDrawingBoard在MenuScene類 – Ulthran
檢查我的第二個問題。此外,即使您尚未轉換,您看到該場景內容的原因是因爲您已將該場景添加爲當前場景的子場景。要麼做一個孩子,要麼做一個過渡,但不要兩個都做。 – rickster