ds_list + Draw-Event
- GM 8
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
-
-
da zu must du eine schleife machen.
mit einmal kannst du das nicht machen.
aus du machts immer wieder den draw_text befehl.
du machst eine schleife in der der befehl so oft wieder holt wird bis das ende der list gefunden ist.
so müst das ungefähr aussehen
GML-Quellcode
- var list_pos;
- list_pos=0 //setzt die zu auslesende zeile auf 0 /anfang der ds_list
- do
- {
- draw_text(x,y+(16*list_pos),string(ds_list_find_value(id,list_pos))) //drawed den text mit der ensprechende zeile und erhöht auch gleich den y wert damit es utner einander steht
- list_pos+=1 //spring in die nachste zeile.
- }
- until(list_pos<ds_list_size(id)) //für die schleide so lang aus bis das ende der ds_list ereicht ist.
das must du dir dann selber zurecht shneiden wie du es brauchst. aber so ist die basic.Meine Signatur hat kein Visum für das GM Forum erhalten. -
for-Schleifen sind dafür genau richtig. Ich mach das immer so:
GML-Quellcode
- var text, i, eintrag;
- // text ist der zu zeichnende Text
- text = "";
- // Für jeden Eintrag in der Liste, oder ..
- // .. starte mit i = 0 und erhöhe es um 1 solange i < Listengröße ist
- for (i = 0; i < ds_list_size(list); i += 1) {
- // Finde Eintrag in der Liste
- eintrag = ds_list_find_value(list, i);
- // Füge Eintrag (sollte ein String sein) zu text hinzu (plus #, ein Zeilenumbruch)
- text += eintrag + "#";
- }
- // Zeichne den kompletten Text auf einen Rutsch
- draw_text(x, y, text);
Du kannst es natürlich auch wie x-sascha machen, das bleibt dann dir überlassen. -
-
Clark schrieb:
@copyboy Wofür steht die Variable i? Die finde ich immer öfters...
Das kann ich dir auch beantworten.
Die Variable i benutz man einfach wenn irgendwas immer erhöht wird, d.H.: z.B.: in Schleifen (naja ich benutz es eig. nur in schleifen) hat aber keine wirkliche Bedeutung du könntest ebenso ganz normal laufvariable statt i benutzen.. i,j,k,l und so.. benutz man einfach als Laufvariablen.
Wenn mehrere Programmierer arbeiten ist es sinnvoll die Variablen sinnvoll zu gestalltenm, da sonst "Überlappungen" enstehen könnten und i ist einfach ein schöner strich mit einem lustigen Punkt drauf, also wieso nicht
mfgJe mehr Käse, desto mehr Löcher.
Je mehr Löcher, desto weniger Käse.
Ergo: Je mehr Käse, desto weniger Käse. -
-
Das blablablub ist in diesem Fall ein Array und man will den Wert mit dem Index i erhalten ( i ist eine ganz normale Variable, btw ).
- Tobi97
Twitter | Heaven'n'Hell EP | Call me Joex3 EP | Vaporizing Dreams EP | Electrified EP | Two Worlds EP
Zu. Viele. Links.