Если игрок получает X очков за то, что они что-то делают в моей игре, я хочу, чтобы табло обновлялось, показывая каждое число от 0 до X очень кратко. Я собираюсь использовать аналоговую систему подсчета очков, такую как те старые часы, где вы можете наблюдать за изменениями чисел, за исключением того, что изменение произойдет быстро, потому что одновременно можно добавить сотни точек.Как я могу обновить свой балл за один раз за один раз?
В настоящее время X количество точек обновляются мгновенно, когда очки начисляются:
/****************************** Platform Collision ***************************/
void OnCollisionEnter2D(Collision2D coll)
{
foreach(ContactPoint2D contact in coll.contacts)
{
newPlayerHeight = transform.position.y;
// Don't count the first jump
if(newPlayerHeight < 0){
newPlayerHeight = 0;
}
// If the player jumps down, don't reduce points
// Add a tolerance for variable collision positions on same platform
if(newPlayerHeight < oldPlayerHeight + -0.05f){
newPlayerHeight = oldPlayerHeight;
}
// Send the height to the Score class
Score.SP.updateScore(newPlayerHeight);
oldPlayerHeight = newPlayerHeight;
}
}
/******************************* Score class *********************************/
public void updateScore (float newScore)
{
// Display GUI score
score = (int)(newScore * 76);
guiText.text = "Score" + score;
}
возился с для петли, чтобы попытаться достичь этого, но получил нигде близко.
Просто поддерживать реальный счет и отображаемый счет. И затем в каждом вызове обновления увеличьте отображаемый результат на определенное количество, в зависимости от того, как быстро вы хотите его подсчитать. – Bart
@Bart - Есть ли шанс получить реализацию этого? Я некоторое время работаю над этим, и мои мозговые клетки горячие от эмоций. – LooMeenin