2016-01-14 22 views

回答

1

要正確使用堆棧溢出,您應該總是發佈一些代碼。如果你只是想讓他們爲你做這項工作,人們就不會有幫助。

最好的方法是繼承你的平臺,這裏是它的基本思想。

enum PlatformObject: Int { 
    case Gem = 0 
    case Coin 
} 

class Platform: SKSpriteNode { 

    init (size: CGSize, color: SKColor, objectType: PlatformObject, spawnObjectRandomly: Bool) { // create your own init for your needs 
     super.init (texture: nil, color: color, size: size) 

     // set up platform properties 

     // Than spawn object 
     if spawnObjectRandomly { 
       spawnRandomObject() 
     } else if objectType == .Coin { 
       spawnCoin() 
     } else if objectType == .Gem { 
       spawnGem() 
     } 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    func spawnRandomObject() { 
     let randomNumber = Int(arc4random() % 2) // 0 and 1 
     if randomNumber == 0 { 
      // spawn gem 
      spawnGem() 
     } else { 
      // spawn coin 
      spawnCoin() 
     } 
    } 

    func spawnCoin() { 
     let coin = SKSpriteNode(... 
    } 

    func spawnGem() { 
     let gem = SKSpriteNode(... 
    } 
} 

比你的場景,你產卵平臺,像這樣

class GameScene: SKScene { 
     let size = // set your size 
     let color = // set color 

     let platform1 = Platform(size: size, color: color, objectType: .Gem, spawnObjectRandomly: false) 
     ... 
     // if false will spawn selected objectType ("Gem" in this example) 


     let platform2 = Platform(size: size, color: color, objectType: .Gem, spawnObjectRandomly: true) 
    // if true will spawn random object regardless of objectType settings 
     ... 
} 

希望這有助於

+0

感謝標記,我只是調整了答案咯。你最近還好嗎? – crashoverride777

+0

我相處得很好,我只需要得到這個我已經解決的scrollview問題,我應該沒問題。你對我非常感激,對我來說是非常大的幫助。 – Astrum

+0

那麼你對scrollview問題有什麼看法? – Astrum