Hey Leute, ich möchte ein Array von Listen unterschiedlicher Länge anlegen. Ein 2 dimensionales Array oder ein ds_grid, wäre mir keine gute Lösung weil dann soviel Platz verschwendet wird, bzw ich nicht gut die Länge einer Liste bekommen, weil ja dann alle gleichlang sein müssen. Ich möchte eine überschaubare Anzahl (max ca 10) an Listen mit "unendlicher" LÄnge über eine Variable ansprechen.
Mein Ansatz hat gut funktioniert bis ich eine for-Schleife im draw Event durchlaufe um alle Listen drawen zu lassen. gelöst
Spoiler anzeigen
Alles anzeigen
ohne dem array funktioniert es natürlich, aber dann habe ich nur eine line oder müsste line_00, line_01 erstellen und befüllen etc, also nix gutes oder ein grid benutzen und immer checken ob der nächste wert das Ende der eigtl liste ist und nur mehr "füller im grid" ist.
Ich habe in der draw_forschleife eine list abgefragt die es noch gar nicht gibt. Das ist also nun in Ordnung; Aber ein anderes Problem ist aufgetreten; ich kann den Path
Man kann kein Array an paths anlegen
Gut ist erledegt, aber vllt gut Info für manch anderen.
GML-Quellcode
- //STEP STEP STEP EVENT
- global.line[line_no] = path_add();
- path_set_closed(global.line[line_no], 0);
- for (i = 0 ; i <= ds_list_size(ds_line[line_no])-1 ; i += 2)//hier funktioniert es noch ohne Error
- {
- path_add_point(global.line,ds_list_find_value(ds_line[line_no],i),ds_list_find_value(ds_line[line_no],i+1),100);
- }
- //DRAW DRAW DRAW EVENT
- for (i = 0 ; i < ds_list_size(ds_line[line_no])-2 ; i += 2)//hier kommt ein Error
- {
- //DRAW BACKGROUDN THROUGH BUILDINGS
- draw_line_width_colour(ds_list_find_value(ds_line[line_no],i), ds_list_find_value(ds_line[line_no],i+1), ds_list_find_value(ds_line[line_no],i+2), ds_list_find_value(ds_line[line_no],i+3),10,background_colour,background_colour);
- draw_sprite_ext(spr_line,3,ds_list_find_value(ds_line[line_no],i)+1,ds_list_find_value(ds_line[line_no],i+1)+1,1,1,0,background_colour,1);
- draw_sprite_ext(spr_line,3,ds_list_find_value(ds_line[line_no],i+2)+1,ds_list_find_value(ds_line[line_no],i+3)+1,1,1,0,background_colour ,1);
- }
ohne dem array funktioniert es natürlich, aber dann habe ich nur eine line oder müsste line_00, line_01 erstellen und befüllen etc, also nix gutes oder ein grid benutzen und immer checken ob der nächste wert das Ende der eigtl liste ist und nur mehr "füller im grid" ist.
Ich habe in der draw_forschleife eine list abgefragt die es noch gar nicht gibt. Das ist also nun in Ordnung; Aber ein anderes Problem ist aufgetreten;
path_start(global.line[line_no],4,3,1);
nicht abfragen. Bzw er wirft keinen Error sondern bewegt sich einfach nicht. Ohne [line_no] funktionierts.Man kann kein Array an paths anlegen
Gut ist erledegt, aber vllt gut Info für manch anderen.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Aku_Ryou ()