我一直在FPS延迟。我环顾四周,人们说要使用
[self schedule:@selector(gameLoop:) interval: 1/60.0f];
当我使用它时,我会遇到不稳定的延迟。但是当我使用
[self schedule:@selector(gameLoop:)];
它平滑了很多。这是我的运动代码片段。
- (void)gameLoop :(ccTime)dt
{
[self manageCannon:dt];
[self manageBullets:dt];
[self manageEnemies:dt];
[self manageAllies:dt];
}
- (void) manageEnemies :(ccTime)dt
{
enemyClass *tempEnemy;
for(int i = 0; i < [enemies count]; i++)
{
tempEnemy = [enemyClass new];
tempEnemy = [enemies objectAtIndex:i];
tempEnemy.position = ccp(tempEnemy.position.x-tempEnemy.speed*dt,tempEnemy.position.y);
if((tempEnemy.position.x - tempEnemy.range) < [wall getwally])
{
tempEnemy.speed = 0;
}
if(tempEnemy.health < 1)
{
tempEnemy.alive = false;
}
if(tempEnemy.alive == false)
{
[enemies removeObjectAtIndex:i];
[tempEnemy removeFromParentAndCleanup:true];
}
}
}
我总是尝试从头开始编写自己的代码,所以如果你能帮助我解决我正在做的其他事情,那对我来说是不正确的。