level_load (STRING* filename);
Levelwechsel; erstellt ein leeres Level oder lädt ein neues Level auf
Grundlage einer Levelmap (WMB), eines Terrains (HMP) oder
Modells (MDL).
Parameter:
filename - STRING* oder char*;
Name der Map-, Modell- oder Terraindatei, oder NULL für ein leeres
Level.
Bemerkungen:
- Der gegenwärtige Level wird beendet, der Cache, welcher die
Level-Entity-Dateien enthält, geleert und alle Entities
des
alten Levels
gelöscht. Pointer, die sich
auf diese beziehen, können nicht mehr verwendet werden. Um eine
Entity-Datei bei Levelwechsel vorm Gelöscht-Werden zu bewahren - was
für ein schnelleres Level-Laden sinnvoll sein könnte - definieren Sie
diese als eine view entity.
- Funktionen, die Entities zugewiesen sind oder von diesen aufgerufen werden (d.h. deren my Pointer nicht Null ist), werden bei ihrer nächsten wait-Anweisung
automatisch beendet. Alle anderen Funktionen in denen my Null ist, wie die main()-Funktion, laufen weiter und werden nicht verändert. Sie ändern sich selbst dann nicht, wenn dem neuen Level in WED ein ein anderes Skript zugewiesen wurde.
- A7 Während des Ladevorgangs lässt sich der on_level-Prozess
zum Darstellen eines Fortschrtittsbalkens oder einer Panelanimation
nutzen.
- Einen Frame nach dem Laden des Levels zeigt die Variable last_error Ladefehler
an.
- A7 Die Variable preload_mode bestimmt ob Level-Entities, Meshes und Texturen bereits während des Ladevorgangs erstellt werden. In diesem Fall geschieht das Laden des Levels langsamer, verzögert sich aber, wenn es vermieden wird, dass Entities sichtbar werden.
- Verlangt das Level keine Physik- und Kollisionserkennung, werden Laden und das Erstellen der Entities beschleunigt, indem enable_polycollision vor level_load auf 0 gesetzt wird.
Geschwindigkeit:
Langsam
Beispiel:
function main()
{
level_load("newlevel.wmb"); // load level newlevel.wmb
}Siehe auch:
Siehe auch:
game_load, level_mark, level_loadendless, level_ent, on_level, last_error
► Aktuelle Version Online