gpt4 book ai didi

ios - 场景过渡淡化但不切换场景

转载 作者:行者123 更新时间:2023-11-29 01:20:36 25 4
gpt4 key购买 nike

我正在尝试使用 SpriteKit 从默认的根场景过渡到新场景。但是,每当我按下“开始”按钮时,旧场景就会变灰(尽管它仍然可见)并且绘图板标签会出现。场景仍然是灰色的。旧场景中的所有按钮仍然可以按下,但不执行它们的关联操作。一个 UIButton 触发这个函数:

startButton.addTarget(self, action: "goToDrawingBoard:", forControlEvents: UIControlEvents.TouchUpInside)

函数:

@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)
}
}

最佳答案

看起来您没有正确呈现场景,请尝试以下操作:

@objc func goToDrawingBoard(sender: UIButton){
let drawingBoardScene = DrawingBoardScene(size: self.size)

self.view?.presentScene(drawingBoardScene, transition: SKTransition.crossFadeWithDuration(1.0))
}

没有理由将新场景作为子场景添加到旧场景中,谁知道为什么你的场景有场景对象。

个人说明,在这件事上呈现你的场景并不是一个好的呈现场景的方式。呈现场景是 View 的工作,所以你应该做的是当场景被移除时,以某种方式向 View 发送通知,告知场景已经完成并正在等待它被移除删除,然后让 View 呈现场景。这将允许 View 正确地删除旧场景,而没有任何保留器阻止它。一种方法是抛出委托(delegate)

关于ios - 场景过渡淡化但不切换场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com