在 Gameover 上添加延迟时间 Admob Interstitial

Add Delay Time Admob Interstitial on Gameover

我是 C# 的新手,任何人都可以帮助我解决这个问题。我正在 Unity 中创建游戏,并在 Gameover 状态下集成了 admob(插页式广告)。现在它运行良好,但是每次用户到达游戏结束屏幕时显示插页式广告看起来很烦人。所以在这里我认为在广告展示中添加一些延迟时间是很好的。到目前为止,我得到了一些简单的逻辑,但它不能按我的需要工作,不确定。

这是我的代码,例如我希望它有2分钟的延迟,所以在游戏结束时如果没有达到延迟时间就不会执行插屏广告。计数器应连续计数。如果计数器超过 2 分钟并且下一个游戏结束屏幕出现,广告应该出现并且计数器从零重新开始计数。

// For timer Admob
public int counter = 0;
public bool timer = true;

void Update()
{

    if (timer == true)
    {
        counter++;
    }
}

在我的游戏结束画面中

if (counter >= 120) // delay for 2 minutes
{
    <<my custom code to show admob>>
    timer = true;
    counter = 0;// set the counter to zero and restarting count
}
else
{
    timer = true; // it will keep counting
}

非常感谢您的帮助

我认为 Update() 每帧都会被调用(大概每秒 30 - 60 次)所以延迟需要更高,同时让你的游戏不依赖于帧使用 Time.deltaTime

http://docs.unity3d.com/ScriptReference/Time-deltaTime.html

编辑:同样在显示的代码中,您从未将 false 分配给 timer 变量,因此看起来它是多余的。您在 if 语句中比较变量 delayAdmob,但您在哪里更改或声明它?