如果条件连续发生两次,如何加倍值?

时间:2018-01-05 06:23:20

标签: c# if-statement unity3d integer double

我正在制作一个带有乐谱文本的游戏,并且想知道如果连续两次发生某种情况,我会如何编写一个脚本,将添加到乐谱中的点加倍?到目前为止,如果玩家在特定区域获得子弹,我有一个加2点而不是1点的区块。代码如下:

if (-0.02f < transform.forward.x && transform.forward.x < 0.03f) {
    perfectScoreText.GetComponent<Animator> ().Play ("PerfectHit");
    currentScore += 2;
    scoreText.text = "" + currentScore;
    }

我想知道我是如何将用户完成条件两次/连续三次/等连续添加两倍的代码。

感谢。

1 个答案:

答案 0 :(得分:3)

添加一个完美命中的计数器。让我们说perfectHitCounter。当完美命中时,将此计数器增加1,如果完美命中失败则使此计数器为零。当它达到2时,加上双倍得分并重置计数器,或者如果你的游戏有组合系统,你可以增加计数器,直到你错过了完美的镜头。

  

我认为你提供的代码是完美命中的地方。

if (-0.02f < transform.forward.x && transform.forward.x < 0.03f) //Perfect Hit
{
    //Perfect hit
    perfectHitCounter += 1;
    //Add normal score if you wish
}
if('not perfect score condition')
{
    perfectHitCounter = 0;
}
if(perfectHitCounter >= 2)
{
    currentScore += 2;
    //perfectHitCounter = 0; //If there is no combo system.
}

希望这会有所帮助。干杯!