Hey!

I would use digits and would increase variable (containing a number) slowly in a loop. This would result in something very similar to what you showed in the video!

Best regards.

Edit: this was actually pretty interesting to create (press space to add random value to the main score) grin
[Linked Image]
Code
var total_value = 5;
var value_to_add = 5;
var adding_speed = 0.025;

FONT *main_text_font = "Courier#80";
FONT *main_digit_font = "Courier#160";
FONT *add_digit_font = "Courier#64";

PANEL *main_digit_pan =
{
	digits(0, 0, "POINTS", main_text_font, 0, 0);
	digits(0, 160, "%.0f", main_digit_font, 1, total_value);
	flags = SHOW | CENTER_X | CENTER_Y;
}

PANEL *add_digit_pan = 
{
	digits(0, 0, "%+.0f", add_digit_font, 1, value_to_add);
	flags = SHOW | TRANSLUCENT | CENTER_X | CENTER_Y;
}

void add()
{
	value_to_add += 5 + integer(random(40));
}

void main()
{
	on_space = add;
	
	warn_level = 6;
	fps_max = 60;
	
	pan_setcolor(main_digit_pan, 1, 1, COLOR_GREY);
	vec_set(&add_digit_pan->blue, vector(0, 211, 255));
	
	var adding_timer = 0;
	
	while(!key_esc)
	{
		main_digit_pan->pos_x = screen_size.x / 2;
		main_digit_pan->pos_y = (screen_size.y / 2) - 160;
		
		add_digit_pan->pos_x = screen_size.x / 2;
		add_digit_pan->pos_y = (screen_size.y / 2) + 128;
		
		if(value_to_add > 0)
		{
			adding_timer += time_frame / 16;
			if(adding_timer >= adding_speed)
			{
				total_value += 1;
				value_to_add -= 1;
				adding_timer -= adding_speed;
			}
			
			add_digit_pan->alpha = 100;
		}
		
		if(value_to_add <= 0)
		{
			add_digit_pan->alpha -= 25 * time_step;
		}
		
		wait(1);
	}
}

Last edited by 3run; 02/19/20 14:39.

Looking for free stuff?? Take a look here: http://badcom.at.ua
Support me on: https://boosty.to/3rung