繁体   English   中英

一定时间后如何增加分数? XNA

[英]How to increment score after certain time period? XNA

在5秒钟后增加玩家的得分有些卡住。 最终,我希望能够使用相同的逻辑在所有不同时间段后将分数增加'x'数量。 此刻,乐谱正在每秒增加10到60次(由于更新方法被称为每秒60次)。 这意味着得分最终是560,而不是10。

我正在考虑尝试使用isPreviousScoreChangedisCurrentScoreChanged类的变量,就像在检测是否已按下和释放按钮时一样,但这也不能很好地工作。

我正在使用Stopwatch类来跟踪自游戏开始以来经过的秒数。

代码差不多:

if (Stopwatch.ElapsedTicks == 5)
{
    playerScore += 10;
}

[我知道可以在这里粘贴代码,但是粘贴的内容不多,到目前为止我做的很简单]

非常感谢您阅读大家:-)

做这样的事情:

if (timer > TimeSpan.Zero)
{
   timer -= gameTime.ElapsedGameTime;
   if (timer <= TimeSpan.Zero)
   {
       playerScore += 10;
       timer = TimeSpan.Zero;
   }
}

当然,您必须设置timer = new TimeSpan(0, 0, 5);

首先-我不建议使用刻度线,因为一个刻度线只占用很少的时间。 第二-如果每x秒更新一次,则使用模运算符(如果更有效)。

if((Stopwatch.ElapsedMilliseconds%2000)==0){playerScore+=10}

在此示例中,分数应每2秒更新一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM