每50分后加速比赛

时间:2016-01-26 14:44:02

标签: ios objective-c sprite-kit 2d-games

我正在用sprite-kit制作2D反应游戏,我又遇到了同样的问题。我已经问了一次这个问题并得到了很好的答案,一切顺利,但现在又被卡住了。

就像标题所说的那样,我希望每50分加快我的比赛速度,但是当我获得50,100,150这样的正确分数时它会加快速度。问题是我有连击分数而且它总是有些更多点。例如从48到51点,所以它永远不会加速。我怎样才能加速游戏甚至更多点?我的意思是50到100加速,从100到150,依此类推。到目前为止,这是我的代码:

if (points % 10 == 0) {

    if (readyToSpeed) {

        speed++;
        NSLog(@"speed up");
        readyToSpeed = NO;
    }
}

感谢您的帮助! (在Objective-c中的代码请)

编辑:完美地使用两个答案组合。

3 个答案:

答案 0 :(得分:3)

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

speed = baseSpeed + (points / 50);

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

答案 1 :(得分:3)

不要担心确切的50倍多点,跟踪当前点" group"通过模数来推导你的速度值

cur_speed = points - (points % 50);

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

答案 2 :(得分:0)

如果你想在50-100和100-150之间做这样的事情:

If points >  50 && points < 100 {  
//speedup code
}else if points > 100 && points < 150 {
//speedup code
} //etc

更新:如果您希望这是无穷无尽的,请执行以下操作:

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

setSpeedTo(1)将正常
2将从50-100左右 3 100-150
等等。