2017-04-03 8 views
0

私のゲームでは、ユーザーは移動する船をコントロールします。Swift SpriteKitを使用すると、プレイヤーノード間で選択することができます

ゲームはどのようにしてユーザーが一連のノードから選択できるようにしますか?

let shipTexture = SKTexture(imageNamed: "ship1.png") 

    ship = SKSpriteNode(texture: shipTexture) 
    ship.position = CGPoint(x: self.frame.midX, y: -self.frame.height/3) 
    ship.zPosition = 3 
    ship.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 30, height: 100)) 
    ship.physicsBody!.isDynamic = false 
    ship.run(makeShipAnimate) 
    ship.physicsBody!.contactTestBitMask = ColliderType.ship.rawValue 
    ship.physicsBody!.categoryBitMask = ColliderType.ship.rawValue 
    ship.physicsBody!.collisionBitMask = ColliderType.ship.rawValue 
    ship.physicsBody?.affectedByGravity = false 

    self.addChild(ship) 

されています:彼らはから選択する、あるいは自分のスコア= X.ここ

は、現在のプレーヤーのノードのための私のコードである場合はロックを解除することができます緑/青/赤の船を提供する例えば

ユーザーが「ship1.png」または「ship2.png」の間で選択できるようにする方法はありますか?

答えて

0

これを実行する方法は多数あります。このような何かあなたが始める必要があります。

import SpriteKit 

class GameScene: SKScene { 

    var shipName = ""//create a var to hold the chosen ship 

そして、いくつかのボタンまたはその船を選択し、特定の色に対応Intに渡すことで選択を処理するための関数を作成するユーザーのための道を作成します。

func chooseShip(ship: Int) { 
     switch ship { 
     case 0: 
      shipName = "blueShip.png" 
      break 
     case 1: 
      shipName = "greenShip.png" 
      break 
     default: 
      shipName = "greenShip.png" 
     } 
    } 

青い船は、例えば選択されたのであれば、そのボタンは、上記の関数を呼び出すと、選択に渡すであろう:

chooseShip(ship: 0) 

後部あなたが望む画像をロードすることができるとユーザが選択した場合:

let shipTexture = SKTexture(imageNamed: shipName) 
etc... 
関連する問題