Немного застрял, увеличив счет игрока через 5 секунд. В конце концов, я хотел бы иметь возможность использовать ту же логику, чтобы увеличить счет на сумму «х» после всех разных периодов времени. На данный момент оценка увеличивается на 10, но 60 раз в секунду (из-за того, что метод обновления называется 60 раз в секунду). Это значит, что счет заканчивается 560 вместо 10.Как увеличить баллы после определенного периода времени? XNA
Я думал о попытке использовать такие переменные, как isPreviousScoreChanged
и isCurrentScoreChanged
, например, при обнаружении нажатия и отпускания кнопки, однако это тоже не работает хорошо.
Я использую класс Stopwatch
, чтобы отслеживать количество секунд, прошедших с начала игры.
код довольно много:
if (Stopwatch.ElapsedTicks == 5)
{
playerScore += 10;
}
[Я знаю, что можно вставить код здесь, но там не так много, чтобы вставить и это довольно просто то, что я сделал до сих пор]
спасибо большое за чтение всех :-)
http://stackoverflow.com/questions/8552648/how-to-create-a-timer-that- что-то это может быть полезно – Rotem
Не могли бы вы определить, сколько вы хотите увеличить баллы в секунду, и просто используйте Stopwatch.ElapsedMilliseconds (после преобразования, конечно, в секундах) – tim
Tim: Я преобразовал StopWatch.ElapsedTicks за считанные секунды, а также заявил, что я хотел увеличить на 10, но это не сработало, поскольку оценка должна была увеличиться nting 60 раз в секунду на 10. – 6a6179