如何对更新方法进行常规调用不依赖于跳过的帧数?

时间:2015-01-11 19:33:59

标签: ios sprite-kit

我有一个skspritenode,它对更新方法施加了一个力量冲动和燃料消耗方法......

我正在2个不同的设备上测试它。一个4s和5s ...... 4s的帧速率低于60,与5s不同..(船只可以在4s加速更多)..

我该如何解决这个问题? ..使2个函数,consumeFuel和forceUp不依赖于更新方法的帧数?

-(void)update:(CFTimeInterval)currentTime {
/* Called before each frame is rendered */

camera.speed = ship.physicsBody.velocity.dy;
camera.distance = ship.position.y;


camera.fuel=fuel_remaining;


if(willPresentGameOver == true){
    ship.physicsBody.velocity = CGVectorMake(0, 0);
}else{
    if (isAccelerating == true) {
        [self consumeFuel];
        [self forceUp];

    }
}
}

-(void)consumeFuel{
     if(fuel_remaining>0){
         fuel_remaining-=1;
     }

 }

-(void)forceUp{
if(fuel_remaining > 0){
    [[self childNodeWithName:@"//ship"].physicsBody applyForce:CGVectorMake(0, [[Config sharedSingleton]returnUpForce])];
}else{
    [force invalidate];
    [shipAccelerationFlame removeAllActions];
    [shipAccelerationFlame setTexture:nil];
    return;
}

}

0 个答案:

没有答案