我正在使用swift 2和sprite-kit。我想知道如何为玩家选择角色场景来选择要在游戏中玩的角色,我已经设置了场景,但是我不知道如何整合多个角色,可以选择多个角色玩?任何参考或示例代码将不胜感激。

在GameScene()中,我有

    //plane = SKSpriteNode(imageNamed: "plane")
    plane.size = CGSize(width: 80, height: 80)
    plane.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 4)
    plane.physicsBody = SKPhysicsBody(circleOfRadius: plane.frame.height / 2)
    //plane.physicsBody = SKPhysicsBody(texture: plane.texture!, size: plane.size)
    plane.physicsBody?.affectedByGravity = true
    plane.physicsBody?.dynamic = true
    plane.zPosition = 2
    self.addChild(plane)'


在settings()我有

    func mainScene(){

    mainSceenButton = SKSpriteNode(imageNamed: "mainMenu")
    mainSceenButton.size = CGSizeMake(200, 100)
    mainSceenButton.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 + self.frame.height / 3)
    self.addChild(mainSceenButton)

    plane = SKSpriteNode(imageNamed: "plane")
    plane.size = CGSizeMake(50, 50)
    plane.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 + 100 )
    self.addChild(plane)

    plane1 = SKSpriteNode(imageNamed: "plane1")
    plane1.size = CGSizeMake(50, 50)
    plane1.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 )
    self.addChild(plane1)

    plane2 = SKSpriteNode(imageNamed: "plane2")
    plane2.size = CGSizeMake(50, 50)
    plane2.position = CGPoint(x: self.frame.width / 2, y: self.frame.height / 2 - 100 )
    self.addChild(plane2)

}



override func didMoveToView(view: SKView) {
    mainScene()
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    let mainMenuScene = StartScene(fileNamed: "StartScene")

    for touch in touches{
        let location = touch.locationInNode(self)
        if mainSceenButton.containsPoint(location){
            self.scene?.view?.presentScene(mainMenuScene!, transition: SKTransition.fadeWithDuration(1.0))
        }
        if plane1.containsPoint(location){
            GameScene().plane = SKSpriteNode(imageNamed: "plane1")
        } else {
            GameScene().plane = SKSpriteNode(imageNamed: "plane")
        }
    }
}'

最佳答案

问题的确太广泛了,但是这就是我过去如何看待(自己完成)的方式


创建SKSpriteNode的子类以制作自定义播放器类。
初始化时,根据节点的选择更改节点的纹理。

关于swift - Sprite-kit主角色选择器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39231990/

10-10 21:01