Raster und Editor Erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Raster und Editor Erstellen

    Hi
    Vorweg, ich abeite schon etwas länger mit dem GM, nur jetzt wo ich ein Problem habe hab ich mich angemeldet
    Also folgendes: Wie kann ich einen Editor für mein Spiel erstellen? Es soll ein Ingame Editor sein, das Prinzip fast so wie in Die Sims. Wie erstelle ich das Raster, an dem Wände an den Kanten und Böden an den Flächen gesetzt werden?
    Bin zwar nicht so gut im proggen aber ich erlerne mir immer das was ich gerade brauche, selbst wenn es ewig dauert. Bin mir auch nicht so recht sicher ob das realisierbar ist, so etwas zu machen.
    Gibt es schon Tutorials, Theards oder Engiens darüber?

    Höffe es ist machbar

    Grz Jamal
  • Raster mit den Grid-Funktionen dürften dir da weiterhelfen.

    Auszug aus der Hilfe:
    Spoiler anzeigen

    Ein Raster ist ein einfaches zweidimensionales Array. Ein Raster hat eine Breite und eine Höhe. Die Struktur erlaubt es Zellen im Raster mit Werten zu befüllen und diese wieder auszulesen, indem deren Index angegeben wird (Welcher bei x und y bei 0 anfängt. Du kannst aber auch den Wert von Gebieten angeben, Werte hinzufügen und die Summe, das Maximum, das Minimun und den Durchschnitt eines Gebietes auslesen. Die Struktur ist nützlich um beispielsweise ein Spielfeld darzustellen. Auch wenn alle Funktionen auch über ein zweidimensionales Array gelöst werden können ist es dennoch besser das Raster zu nehmen, da es sehr viel schneller ist. Die folgenden Funktionen existieren:

    ds_grid_create(w,h) Erstellt ein neues Raster mit der angegebenen Höhe und Breite. Die Funktion gibt eine ID als Zahl zurück, die in allen anderen Funktionen angegeben werden muss.
    ds_grid_destroy(id) Vernichtet das Raster mit der angegebenen id; dabei wird der belegte Speicher freigegeben. Vergiss nicht diese Funktion aufzurufen, wenn die Struktur nicht mehr brauchst.
    ds_grid_resize(id,w,h) Ändert die Rastergröße auf w und h. Bestehende Zelle behalten ihren Wert.
    ds_grid_width(id) Gibt die Breite des angegebenen Rasters zurück.
    ds_grid_height(id) Die die Höhe des angegegebenen Rasters zurück.
    ds_grid_clear(id,val) Leert das angegebene Raster mit dem Wert (kann eine Zahl oder ein String sein).
    ds_grid_set(id,x,y,val) Setzt den wert der angegebenen Zelle (kann eine Zahl oder ein String sein)
    ds_grid_add(id,x,y,val) Fügt den angegebenen Wert dem Raster hinzu.
    ds_grid_multiply(id,x,y,val) Multipliziert den Wert der angegebenen Zelle mit Val. Nur für Zahlen gültig.
    ds_grid_set_region(id,x1,y1,x2,y2,val) Setzt alle Zellen des angegebenen Bereiches auf einen Wert (kann eine Zahl oder ein String sein).
    ds_grid_add_region(id,x1,y1,x2,y2,val) Fügt den angegebenen Wert in den Bereich des Rasters hinzu.
    ds_grid_multiply_region(id,x1,y1,x2,y2,val) Multipliziert die Werte der angegebenen Zellen mit val. Nur für Zahlen gültig.
    ds_grid_set_disk(id,xm,ym,r,val) Setzt die Werte aller Zellen im Kreis mit Mittelpunkt (xm,ym) und Radius r.
    ds_grid_add_disk(id,xm,ym,r,val) Fügt val allen Werten des Kreises mit Mittelpunk (xm,ym) und Radius r hinzu.
    ds_grid_multiply_disk(id,xm,ym,r,val) Multipliziert die Werte des Kreises mit Mittelpunkt (xm,ym) und Radius r mit val.
    ds_grid_get(id,x,y) Gibt den Wert der angegebenen Zelle im Raster id zurück.
    ds_grid_get_sum(id,x1,y1,x2,y2) Gibt die Summe der Werte in der angegeben Region zurück. Funktioniert nur mit Zahlen.
    ds_grid_get_max(id,x1,y1,x2,y2) Gibt den Maximalwert der Zellen in der angegeben Region zurück. Funktioniert nur mit Zahlen.
    ds_grid_get_min(id,x1,y1,x2,y2) Gibt den Minimalwert der Zellen in der angegeben Region zurück. Funktioniert nur mit Zahlen.
    ds_grid_get_mean(id,x1,y1,x2,y2) Gibt den Durschnittswert der Zellen in der angegeben Region zurück. Funktioniert nur mit Zahlen.
    ds_grid_get_disk_sum(id,xm,ym,r) Gibt die Summe der Werte der Zellen im Kreis zurück.
    ds_grid_get_disk_min(id,xm,ym,r) Gibt den Minimalwert der Zellen im Kreis zurück.
    ds_grid_get_disk_max(id,xm,ym,r) Gibt den Maximalwert der Zellen im Kreis zurück.
    ds_grid_get_disk_mean(id,xm,ym,r) Gibt den Durchschnittswert der Zellen im Kreis zurück.
    ds_grid_value_exists(id,x1,y1,x2,y2,val) Gibt an ob der Wert in der Region existiert.
    ds_grid_value_x(id,x1,y1,x2,y2,val) Gibt die x-Koordinate der Zelle an, in der der Wert existiert.
    ds_grid_value_y(id,x1,y1,x2,y2,val) Gibt die y-Koordinate der Zelle an, in der der Wert existiert.
    ds_grid_value_disk_exists(id,xm,ym,r,val) Gibt an ob der Wert im Kreis existiert.
    ds_grid_value_disk_x(id,xm,ym,r,val) Gibt die x-Koordinate der Zelle an, in der der Wert existiert.
    ds_grid_value_disk_y(id,xm,ym,r,val) Gibt die y-Koordinate der Zelle an, in der der Wert existiert.
    Dieser Beitrag ist Spam.
    | |
    | |
    \. ./
    \/
  • Sorry, hab ich vergessen zu erwähnen :ops:
    Natürlich hab ich schon die Hilfe durchforscht, aber die Befehle helfen nicht wirklich, das Raster hat ja nur werte in den Flächen. Die Kanten sint überhaupt nicht dabei.

    EDIT: UPPPPPPPPPPPPS, ich arbeite mit B. Eagle zusammen, sind gerade bei ihm eingeloggt :ops:



    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von B. Eagle ()