当行为完成时,游戏将转到GameOver

时间:2018-05-01 09:59:11

标签: c# visual-studio unity3d 2d-games

我有一个简单的滑动游戏 - 当显示右箭头时,用户应向右滑动(以及其他方向)。这是我的代码(它只是重复自己所以我只发布一个方向):

if (left && frameCounterLeft <= maxFrames && isLeftNow)
{
    //Reset the other directions
    right = false;
    up = false;
    down = false;
    tap = false;

    //First time
    if (frameCounterLeft == 0)
        ThrowLeft(true);
    else
        ThrowLeft(false);

    //Animation
    frameCounterLeft++;

    //End animation
    if (frameCounterLeft == maxFrames)
    {
        ClonePlayer();
        frameCounterLeft = 0;

    }
}
else if (left && frameCounterLeft == 0 && !isLeftNow)
{
    GameOver();
}

TheowLeft方法:

void ThrowLeft(bool FirstTime)
{
    if (FirstTime)
    {
        UpdateScore();
        left = false;
    }
    player.transform.Translate(new Vector3(player.transform.position.x - throwVelocity, 0));
    player.transform.Rotate(0, throwVelocity * 5, 0);
}

UpdateScore方法:

void UpdateScore()
{ 
    score++;
    if (currentTimeLimit - timeLeft <= 0.5f * currentTimeLimit && ultraMeter.value < 35)
        ultraMeter.value++;

    if (score % ultraMeter.maxValue == 0)
        currentTimeLimit = 0.9f * currentTimeLimit;

    timeLeft = currentTimeLimit;
    if(ultraMeter.value == ultraMeter.maxValue)
        ultraReady = true;
}

左/右/上/下=用户输入左/右/上/下滑动 - 工作(选中)tap =如果用户点击屏幕 - 工作(已选中)framesCounterLeft =用于动画成对的帧isLeftNow = if现在显示左箭头 - 工作(选中)

当我进行任何滑动时(即使它正确滑动),也会调用GameOver()。 例如 - 显示左箭头。当我向左(或任何其他方向)滑动时,调用GameOver()。我希望只有在滑动错误时才会调用它(例如,现在左侧卡片正在向左/向上/向上滑动或者我正在点击)

请帮助我,我想继续开发这个游戏。

0 个答案:

没有答案