首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SKView改变视图?

用SKView改变视图?
EN

Stack Overflow用户
提问于 2015-08-24 14:27:57
回答 2查看 82关注 0票数 0

我想知道当角色在游戏结束时与敌人发生冲突时,如何转换成场景。我已经在main.storyboard下做了一个场景,我想知道如何通过代码将它连接起来,我只知道如何使用按钮来连接它,但这不是我想要的,因为当你死后会按下一个按钮,带你去现场的游戏。

更新:

代码语言:javascript
复制
func gameOver() {
        gameDelegate?.gameDelegateGameOver(score)


        let gameOverScene: GameOverScene = GameOverScene(size: self.size)
        self.view!.presentScene(gameOverScene, transition: SKTransition.fadeWithDuration(0.0))

当检测到碰撞时,为我的gameOver提供了这些。是的,它确实带我去了一个新的场景,但不是我用main.storyboard.制作的场景。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-24 15:32:13

您可以做的是创建一个冲突布尔值,如果它是真的(因此,某些东西发生了冲突),您可以在update函数中使用view.presentScene(YOUR_SCENE, SK_ANIMATION)呈现一个新场景。

编辑:

我已经从您获得代码的地方找到了教程(或者至少我假设您已经找到了),并让它使用以下内容:

在"didMoveView“中添加:

代码语言:javascript
复制
player.physicsBody?.categoryBitMask = PhysicsCategory.Player
player.physicsBody?.contactTestBitMask = PhysicsCategory.Monster
player.physicsBody?.collisionBitMask = PhysicsCategory.None
player.physicsBody = SKPhysicsBody(circleOfRadius: player.size.width/2)
player.physicsBody?.dynamic = true

(PhysicsCategory.Player只是我在PhysicsCategory中添加的一个值)

然后,在添加敌人精灵的函数中,您必须添加才能使两者发生碰撞:

代码语言:javascript
复制
monster.physicsBody?.contactTestBitMask = PhysicsCategory.Player

最后但并非最不重要的一点是,您必须添加以下代码以将“一个操作”添加到didBeginContact函数的冲突中:

代码语言:javascript
复制
if ((secondBody.categoryBitMask & PhysicsCategory.Monster != 0) &&
    (firstBody.categoryBitMask & PhysicsCategory.Player != 0)) {
        let gameOverScene = GameOverScene(size: self.size, won: false)
        view?.presentScene(gameOverScene, transition: SKTransition.flipHorizontalWithDuration(0.5))
}

希望它现在对你有用!

票数 1
EN

Stack Overflow用户

发布于 2015-08-24 16:16:37

如果你想呈现一个故事板场景,你需要使用类似的方法

代码语言:javascript
复制
let gameOverScene = self.storyboard!.instantiateViewControllerWithIdentifier("GameOverViewController") as! GameOverViewController
self.view!.presentScene(gameOverScene, transition: SKTransition.fadeWithDuration(0.0))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32184816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档