2015-02-08 103 views
1

我是C#新手,任何人都可以帮助我解决这个问题。我在Unity中创建游戏,并在Gameover状态下集成了admob(interstitial)。现在它运行良好,但每次用户到达游戏画面时,显示烦人的广告看起来都很烦人。所以我认为在展示的广告中添加一些延迟时间是很好的。至于我得到了一些简单的逻辑,但它不工作,因为我需要,不知道。在Gameover上添加延迟时间AdMob插页式广告

这里是我的代码,例如我希望它有2分钟的延迟,所以在gameover时它不会执行插页式广告,如果它没有达到延迟时间。柜台应持续计数。如果计数器达到2分钟以上,并且出现下一个游戏画面,广告应该显示出来,并且计数器从零开始重新计数。

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

void Update() 
{ 

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

在我GAMEOVER屏幕

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 
} 

真的apreciated求助

回答

0

我觉得Update()被称为每一帧(大概在30 - 60次每秒),所以延迟必须大大更高,也让你的游戏不依赖帧使用Time.deltaTime

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

编辑:另外在显示代码,timer变量,你永远不会分配false所以看起来它是多余的。您在if语句中比较变量delayAdmob,但您在哪里更改或声明它?

+0

whoopss ...对不起编辑! 我还在学习c#的统一,不知道如何使用deltatime。我认为counter ++不起作用,因为我把它放在错误的地方。我不知道它放在哪里。 – 2015-02-08 05:14:02

+0

@MasNino尝试增加延迟(120在gameover屏幕)像3600的东西,它应该是大约2分钟,我认为。你也没有说明你现在有什么问题。广告根本没有显示?或者没有这个脚本就是一样的? – swistak 2015-02-08 05:21:02

+0

@MasNino或者您可以使用'counter + = Time.deltaTime'。但我现在无法测试它。 – swistak 2015-02-08 05:34:19