是否有可能故意降低SpriteKit场景的FPS? 我在想,如果这样做可以使我的游戏调试更加容易。
是否有可能故意降低SpriteKit场景的FPS? 我在想,如果这样做可以使我的游戏调试更加容易。
使节点进入慢动作状态(每个节点都可以这样做):
self.speed = 0.2 //where self is a scene
self.physicsWorld.speed = 0.2 //where self is a scene
GameViewController
加载第一个场景时更改SKView
的FPS值。if #available(iOS 10.0, *) {
skView.preferredFramesPerSecond = 30 // 30 FPS
} else {
skView.frameInterval = 2 // Deprecated (1 default = 60FPS so 2 would = 30 FPS)
skView.preferredFrameRate = ... // Deprecated
}
像Whirlwind在他的答案中所指出的那样:
"而且,这不会减慢任何内容,你只是跳过你所看到的帧,例如,如果你有一个节点从点A移动到点B需要5秒钟,而你将preferredFrameRate更改为30fps,那么该节点仍然会在5秒钟内从A移动到B,而不是10秒钟。你唯一能看到的变化就是跳过了一些帧。"
SKView
API参考在这里
SKView
类已经解释了frameInterval
已被弃用:/* 已弃用,请使用preferredFramesPerSecond。 跳过渲染之间的帧数,默认为1(每帧渲染) 实际请求的速率将是preferredFramesPerSecond / frameInterval。*/ @available(iOS,introduced: 7.0,deprecated: 10.0) open var frameInterval:Int
- Alessandro Ornanoif #available(iOS 10.0, *) {...}
的东西。此外,这不会减慢任何速度,您只需跳过您正在查看的帧,例如,节点从点A移动到点B需要5秒钟,您将首选帧速率更改为30fps,该节点仍将在5秒钟内从A移动到B,而不是10秒钟。您唯一看到的变化是跳过了一些帧。 - Whirlwind