Ich hätte hier mal eine Möglichkeit anhand des Standard Splashscreens für dich.

code:
 panel splashscreen {
bmap = splashmap;
alpha = 0;
flags = transparent,refresh,d3d;
}

function main()
{
...
splashscreen.visible = on;
waitt(32); //kann man auch weglassen
//Splashscreen einblenden
while (splashscreen.alpha <100)
{
splashscreen.alpha +=2*time;
wait(1);
}
...
// now load the level
level_load(level_str);
...
//Splashscreen ausblenden
splashscreen.alpha = 100;
while (splashscreen.alpha >0)
{
splashscreen.alpha -=3*time;
wait(1);
}
splashscreen.visible = off;
bmap_purge(splashmap); // remove splashscreen from video memory
...
}
// Ende main

Bei diesem Beispiel solltest du noch folgendes beachten. Und zwar sollte das Level, bevor du den Splshscreen ausblenden lässt, geladen haben, sonst klappt das nicht (da nichts im Hintergrund ist). Außerdem ist der Schwarzanteil dieses Splashscreens ziemlich hoch, sodass es mit dem transparent flag nicht so gut aussieht. Deshalb setze ich die Helligkeit der Panels mittels Grafikprogramm immer so hoch, dass der schwärzeste Teil einen Farbwert von min. 11,11,11 (RGB) hat.

Generell gehe ich so vor, dass ich ein schwarzes Panel (Farbwert 11,11,11) bei einer Menü- oder Introanzeige immer in den Hintergrund lege (per Layer). So kann man die übrigen Panels beliebig ein und ausblenden und das "Schwarzpanel" wird dann ganz am Schluß, nach dem der Level geladen wurde (und das Spiel beginnen soll) ausgeblendet.

Ich hoffe es hilft dir ein wenig.

Rich E.