Ich habe ein kleines 2d Spiel in der Art OGame programmiert. Dort ändere ich auch, bei Aktivierung eines Buttons, den Layer-Wert des jeweiligen Panels.

Hier hätte ich mal nen kleinen Ausschnitt.

Code:
//- BUTTONS -------------------------------------------------------------------------------------------------

PANEL* gebaude_pan =  // Gebäude Button
{
	layer = 2;
	pos_x = 10;
	pos_y = 100;
	button (10, 0, "gebaude.bmp", "gebaude.bmp", "gebaude_overlay.bmp", layergebaude_down, NULL, NULL);
	flags = OVERLAY | VISIBLE;
}




PANEL* zuruck_pan =  // Zurück Button
{
	layer = 0;
	pos_x = 10;
	pos_y = 100;
	button (10, 0, "zuruck.bmp", "zuruck.bmp", "zuruck_overlay.bmp", layergebaude_back, NULL, NULL);
	flags = OVERLAY | VISIBLE;
}


//- Layer-Funktionen -------------------------------------------------------------------------------------------------


function layergebaude_down() //Gebäude Layerfunktion
{
	if (mouse_left == 1 && gebaude_klicked == 0)
	{
			
			gebaude_klicked = 1;
			
			if (gebaude_klicked == 1)
			{
				layer_sort(gebaude_pan, 0);
				layer_sort(beenden_pan, 0);
				layer_sort(zuruck_pan, 2);
				layer_sort(gebaudetext_pan, 2);
				layer_sort(metallminetext_pan, 3);
				layer_sort(stufetext_pan, 3);
				layer_sort(metallstufenanzeige_pan, 3);
				layer_sort(metallstufenausbau_pan, 3);
				layer_sort(kristallminetext_pan, 3);
				layer_sort(kristallstufetext_pan, 3);
				layer_sort(kristallstufenanzeige_pan, 3);
				layer_sort(kristallstufenausbau_pan, 3);
				layer_sort(flotte_pan, 0);

			...

			}
		}
}


function layergebaude_back() //Gebäude Layerfunktion
{
	if (mouse_left == 1 && gebaude_klicked == 1)
	{
			
			gebaude_klicked = 0;
			
			if (gebaude_klicked == 0)
			{
				layer_sort(gebaude_pan, 2);
				layer_sort(beenden_pan, 2);
				layer_sort(zuruck_pan, 0);
				layer_sort(gebaudetext_pan, 0);
				layer_sort(metallminetext_pan, 0);
				layer_sort(stufetext_pan, 0);
				layer_sort(metallstufenanzeige_pan, 0);
				layer_sort(metallstufenausbau_pan, 0);
				layer_sort(kristallminetext_pan, 0);
				layer_sort(kristallstufetext_pan, 0);
				layer_sort(kristallstufenanzeige_pan, 0);
				layer_sort(kristallstufenausbau_pan, 0);
				layer_sort(flotte_pan, 2);

			...
			}
		}
}



Ist vielleicht etwas umständlich und das Layer-Funktions-Script wird sehr groß, aber so funktioniert es zu 100% .