2017-04-03 22 views
0

在我的遊戲中,用戶控制他們四處移動的船隻。Swift SpriteKit允許用戶在玩家節點之間進行選擇

遊戲如何讓用戶從一系列節點中進行選擇?

例如提供紅色/藍色/綠色的船,他們可以從中選擇,甚至解鎖時,他們的得分= X.

這裏是我當前玩家節點代碼:

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) 

是有沒有辦法允許用戶在「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... 
相關問題