2016-01-14 3 views
-2

Я делаю игру в SpriteKit, и в этой игре у меня есть платформы, которые появляются, я хочу сделать так, чтобы объект, такой как драгоценный камень или монета, шанс нерест на платформе, когда он породилSpriteKit, Swift 2.0 - Создание объекта на карте игры

Мне нужно, чтобы это было случайным, а также иметь возможность выбрать то, что она нерестится (либо драгоценный камень или монету)

Любые идеи?

ответ

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

Я хорошо лажу, мне просто нужно решить эту проблему прокрутки, которую я решил, и все должно быть в порядке. Вы очень помогли мне, за что я полностью благодарен. – Astrum

+0

Так что вы думаете о вопросе прокрутки? – Astrum

 Смежные вопросы

  • Нет связанных вопросов^_^