Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 每50分后加快游戏速度_Ios_Objective C_Sprite Kit_2d Games - Fatal编程技术网

Ios 每50分后加快游戏速度

Ios 每50分后加快游戏速度,ios,objective-c,sprite-kit,2d-games,Ios,Objective C,Sprite Kit,2d Games,我正在用精灵套件做一个2D反应游戏,我又遇到了同样的问题。我已经问过一次这个问题,得到了很好的答案,一切都很顺利,但现在我又被卡住了 就像标题上说的,我想每50分提高一次比赛速度,但当我得到正确的分数,比如50分、100分、150分时,比赛速度就会加快。。问题是我有组合点数,而且总是有更多的点数。例如从48点到51点,所以它永远不会加速。我怎样才能加快比赛速度,哪怕是再多一些分数?我的意思是从50到100一次加速,从100到150等等。以下是我目前的代码: if (points % 10 ==

我正在用精灵套件做一个2D反应游戏,我又遇到了同样的问题。我已经问过一次这个问题,得到了很好的答案,一切都很顺利,但现在我又被卡住了

就像标题上说的,我想每50分提高一次比赛速度,但当我得到正确的分数,比如50分、100分、150分时,比赛速度就会加快。。问题是我有组合点数,而且总是有更多的点数。例如从48点到51点,所以它永远不会加速。我怎样才能加快比赛速度,哪怕是再多一些分数?我的意思是从50到100一次加速,从100到150等等。以下是我目前的代码:

if (points % 10 == 0) {

    if (readyToSpeed) {

        speed++;
        NSLog(@"speed up");
        readyToSpeed = NO;
    }
}
谢谢你的帮助!(请输入目标c中的代码)


编辑:将两个答案结合使用,效果完美。

您可以这样做,而不是提高速度:

speed = baseSpeed + (points / 50);

其中baseSpeed是游戏开始时的速度。

不要担心精确的50倍多个点,通过模来跟踪当前点“组”以得出你的速度值

cur_speed = points - (points % 50);

e、 g.如果他们在203点,那么电流速度是203-(203%50)->203-3->200。如果他们突然跳到308分,因为他们击中了一个疯狂的点数组合,那么速度变成308-(308%50)->308-8->300

如果你想要介于50-100和100-150之间,请执行以下操作:

If points >  50 && points < 100 {  
//speedup code
}else if points > 100 && points < 150 {
//speedup code
} //etc
将速度设置为(1)将正常
2将在50-100之间
3100-150

等等。

这看起来不错,但我在哪里以及如何实施?因为我不知道如何做if语句。我想,无论何时何地,只要你需要更新速度。如果他们的速度完全取决于他们的分数,那么你可以计算出他们在哪个50倍组,然后用这个来更新速度。要么像@PaulDaPigeon在下面所做的那样(基本速度+总增量),要么保持当前速度=上一速度+点组中的变化的运行计数。我如何设置限制?如果速度>最大速度,速度=最大速度,只需在之后做一个条件
var speednumber = points/50
speednumber = speednumber-decimal   //some code to cut of the decimals
setSpeedTo(speednumber+1) //you got to make a function for this