在设备而不是模拟器上运行sprite-kit项目时,将每秒帧数设置为30

jki*_*g14 2 iphone frame-rate ios sprite-kit

我刚刚完成了我最新的iPhone应用程序,当我在iPad上测试时遇到了问题.模拟器上每秒的默认帧数为30,但在我的设备上它的大约54到60.这对我来说是一个主要问题,因为我的游戏是一个无限的跑步者并且以我测试的fps的两倍移动使得背景和敌人飞到目前为止太快了.我不能放慢速度,所以我想知道是否可以将fps限制为30.

san*_*ony 5

使用frameInterval中的SKView类.

根据文件:

默认值为1,这会导致以显示的刷新率通知您的游戏.如果该值设置为大于1的值,则显示链接会以原始刷新率的一小部分通知您的游戏.例如,将间隔设置为2会导致每隔一帧调用场景,从而提供帧速率的一半.

换句话说,如果将其设置为2,则将处理每个其他帧,转换为30 FPS.

*更新*

根据您的上一条评论,这是如何正确设置frameInterval:

- (void)viewDidLoad
{
    [super viewDidLoad];
    SKView * skView = (SKView *)self.view;
    skView.frameInterval = 2;
    skView.showsFPS = YES;
    skView.showsNodeCount = YES;
    SKScene * scene = [JKGLevel1 sceneWithSize:CGSizeMake(320, 480)];
    // SKScene * scene = [JKGMyScene sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;
    [skView presentScene:scene];
}
Run Code Online (Sandbox Code Playgroud)

frameInterval是SKView的一个属性.在您的评论中,您将其编码为self.frameInterval,这意味着您正尝试使用self将其应用于VC.不正确.