选择一个角色 - Swift / SpriteKit

时间:2015-10-28 00:22:29

标签: ios swift sprite-kit

我正在尝试制作一个玩家可以选择他们想要玩的角色的游戏。目前我有一个他们选择角色的场景,当他们点击一个角色时,它会转换到他们玩游戏的场景。我尝试通过根据他们选择的字符设置一个整数值,然后使用NSUserDefaults在下一个场景中提供这个整数值来实现这一点,我在这个场景中创建了确定角色纹理的条件(基于他们选择的人)。但它没有用,我的角色出现没有纹理。

我的问题是什么是更好的方法呢?

这就是我目前的目的:

我有两个功能可以在游戏场景中创建两个角色,我会根据玩家选择角色的场景中选择的角色来调用它们:

  if choosePlayer == 1{

        addDrake()
    }else if choosePlayer == 2{

        addFuture()
    }

目前根本没有人物出现。

更新:

我打印了choosePlayer变量,我发现了问题 - 由于某种原因,它保持等于0。在我选择的角色场景中,当玩家选择其中一个角色时,它应该改变choosePlayer的值(最初设置为Int()),然后转换到下一个场景。可以说他们点击了Future。这是我的代码:

else if chooseFuture.containsPoint(location){

        choosePlayer = 2

        let playScene = PlayScene(size: self.size)
        let transition = SKTransition.flipVerticalWithDuration(0.0)
        playScene.scaleMode = SKSceneScaleMode.AspectFill
        self.scene!.view?.presentScene(playScene, transition: transition)
    }

1 个答案:

答案 0 :(得分:1)

我不知道您的print位置,但您需要在呈现playScene之前调用您的NSUserDefault设置。实际上,由于您引用了playScene,只需将choosePlayer变量移至playScene,甚至不使用NSUserDefaults。

所以在你的PlayScene.swift中有一个名为choosePlayer的变量。在UPDATE区域的代码中,运行playScene.choosePlayer = 2let playScene = PlayScene(size: self.size)之后)而不是choosePlayer = 2