ios - SKTransition 在 Swift 中不起作用

标签 ios swift sprite-kit skscene sktransition

我有一个用 Swift 编写的非常简单的 SpriteKit 游戏,其中有两个场景,我试图在它们之间进行转换。此代码完美运行:

let skView = self.view as SKView

let scene = GameScene(size: self.scene.size)
scene.size = skView.bounds.size
scene.scaleMode = .AspectFill

//This line shows the new scene immediately (as expected)
skView.presentScene(scene) 

当我用这个替换上面的代码行时,麻烦就来了:

let sceneTransition = SKTransition.doorsCloseHorizontalWithDuration(2.0)
skView.presentScene(scene, transition: sceneTransition)

当我这样做时没有任何反应(当前场景保留在屏幕上)。我尝试了几种不同的转换,但总是得到相同的结果。

有什么想法吗?

最佳答案

已解决。

事实证明,上面的代码没有任何问题。问题是我试图根据特定 SKPhysicsBody 的位置在更新函数中执行它。转换不会立即发生,因此它有时间让 update 被反复调用,从而一遍又一遍地重新触发转换。这导致过渡从未发生。

解决方法是添加一个 bool 值来检查我是否已经开始转换,所以我只尝试了一次。

关于ios - SKTransition 在 Swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25215517/

相关文章:

ios - 推送通知 - 使用 SceneDelegate 在通知点击时推送 ViewController

ios - 相当于 Objective-c 中的 Swift Public 方法?

swift - 没有颜色的淡入淡出过渡?

swift - j2objc 无法快速调用返回 JavaIoInputStream 的方法

ios - 是否可以在 Storyboard 中定义 "generic"unwind segue?

swift - 如何在 SpriteKit 和 Swift 中重启游戏

ios - 如何从核心位置获取旧位置

ios - 使用 CAMERA(不是相册)时从 UIImagePickerController 获取缩略图

ios - 音效无法播放(XCode/Swift)

swift - 找到距给定点一定距离内的所有 SKNode 的有效方法?