限制 Sprite 套件帧率
Posted
技术标签:
【中文标题】限制 Sprite 套件帧率【英文标题】:Limit Sprite kit Frame-rate 【发布时间】:2014-02-15 10:01:32 【问题描述】:我是编程新手,正在创建精灵套件游戏。我正在制作带有大图像的滚动背景,这将帧速率降低到 30fps。但是在游戏开始时,在引入任何其他精灵之前,帧速率在 30fps 和 60fps 之间变化。因为我在更新方法中移动我的背景,所以背景滚动的速度在不断变化。我想将最大帧速率限制为 30fps 以实现恒定速度。 我也听说过使用 Delta time 来实现恒定速度,但一直无法在网上找到有关此的教程。
提前致谢。
【问题讨论】:
您在设备上进行测试吗?如果没有,请这样做,模拟器性能不能代表真实设备 在设备上测试。性能好很多。谢谢。 【参考方案1】:您可以通过将 SKView 上的 frameInterval 设置为 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
【讨论】:
以上是关于限制 Sprite 套件帧率的主要内容,如果未能解决你的问题,请参考以下文章