func RunAfterDelay(delay: NSTimeInterval, block: dispatch_block_t) {
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue(), block)
}
此方法在我的遊戲場景的助手類中被調用。我正在關注TUT,是的,我嘗試在當前項目中實現幫助器類,我是編程新手。我還新GCD的想法,我已閱讀文檔和知道它有那麼大的用途....Grand Central Dispatch尋找不同的方法
在我的遊戲場景它用在這裏:
RunAfterDelay(RandomDouble(min: minDelay, max: maxDelay)) { [unowned self] in
self.createEnemy()
這裏也使用在同一場景:
dispatch_async(dispatch_get_main_queue()) { [unowned self] in
// if(self.backgroundMusic.playing){
我已經找到了聲音,BG音樂和用枚舉,案件創造一個全球性的迅速文件音效和公共功能的解決方案來處理音樂等,這看起來是這樣的我我確信每個新到Swift的人都遇到過這樣的問題:RW tuts
public class SKTAudio {
public var backgroundMusicPlayer: AVAudioPlayer?
public var soundEffectPlayer: AVAudioPlayer?
public class func sharedInstance() -> SKTAudio {
return SKTAudioInstance
我正在尋找不同的方法,如果有更好的選擇,因爲它目前耗盡我的CPU,幾次運行後,變得非常慢。這是一個不同的問題,但。我更關心的是尋找比所列出的更好的方法。
這是一款利用SpriteKit和UIKit(針對UI原因)的遊戲,我不再使用它,現在我嚴格使用SpriteKit。
如果您使用GCD,則需要像所有多線程程序一樣正確處理併發。 GCD對長時間運行*獨立*計算最爲有用。對於遊戲來說這不是一個好的解決方案。 – molbdnilo
謝謝。非常直截了當。 – upallnight
如果我爲遊戲場景增加一些代碼,會有幫助嗎?同時我會看看你提供的信息。 – upallnight