2014-02-15 95 views
2

我是編程新手,正在創建一個精靈套件遊戲。我使用大圖像製作滾動背景,並將幀速率降低至30fps。但是在遊戲開始時,在引入其他精靈之前,幀頻在30fps和60fps之間變化。因爲我在更新方法中移動背景,背景滾動的速度不斷變化。我想限制最大幀速率爲30fps以達到恆定速度。 我也聽說過使用達美時間達到恆定速度,但一直無法找到關於這個在線的教程。限制Sprite套件幀速率

在此先感謝。

+2

你的設備上測試?如果不是這樣,那麼模擬器性能不是真實設備的代表 – LearnCocos2D

+0

在設備上進行測試。性能好得多。謝謝。 –

回答

10

您可以通過設置frameInterval你SKView到2

這將有效降低60你的最大幀頻爲30

2

frameInterval現在已經過時,實現這一目標。您SKView對象的

設置preferredFramesPerSecond財產30

爲例(SWIFT 3.2)

// ViewController.swift 

    import Cocoa 
    import SpriteKit 
    import GameplayKit 

    class ViewController: NSViewController { 

     @IBOutlet var skView: SKView! 

     override func viewDidLoad() { 
      super.viewDidLoad() 

      if let view = self.skView { 

       skView.preferredFramesPerSecond = 30//this will set framerate to 30 

       // Load the SKScene from 'GameScene.sks' 
       if let scene = SKScene(fileNamed: "GameScene") { 
        // Set the scale mode to scale to fit the window 
        scene.scaleMode = .aspectFill 

        // Present the scene 
        view.presentScene(scene) 
       } 

       view.ignoresSiblingOrder = true 

       view.showsFPS = true 
       view.showsNodeCount = true 
      } 
     } 
    }