Ich erhöhe die Punktzahl des Spielers und verwende eine Formel pro Frame wie:
int score, displayedScore ;// score is ACTUAL score player has,
// displayedScore is what is shown this frame to the player
// (the creeping/"rolling" number)
float disparity = score - displayedScore ;
int d = disparity * .1f ; // add 1/10 of the difference,
if( !d ) d = signum( disparity ) ; // last 10 go by 1's
score += d ;
Wo
inline int signum( float val ){
if( val > 0 ) return 1 ;
else if( val < 0 ) return -1 ;
else return 0 ;
}
Es funktioniert also so, dass es schnell große Änderungen vornimmt und sich dann in den letzten nacheinander einschleicht.
Aber ich suche nach besseren (oder möglicherweise bekannten?) Score-Creeping-Funktionen. Jemand?