Sprites werden urplötzlich nicht mehr auf die Surface gezeichnet

  • GM 7

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

  • Sprites werden urplötzlich nicht mehr auf die Surface gezeichnet

    Ich versuche mich an einer Zatacka-Variante... es lief bis jetzt alles recht glatt, nur... auf einmal werden die Objekte nicht mehr gezeichnet, die Surface bleibt schwarz... Ich hab was an einem anderem Objekt und Script geändert bevor das passiert ist, nur das sich weder das Objekt bis jetzt auf irgendeiner Map befand noch das Skript irgendwo aufgerufen wurde... Ich hab alle Objekte und Skripts gelöscht, die nicht verwendet werden, es bleibt aber immer gleich... Und laut dem Debug-Mode gibt es 7 Instanzen in dem Room (also 1 Controller und 6 Schlangen)... vielleicht kann mir jemand helfen...

    Hier die 'wichtigen' Codes:

    obj_controller:

    GML-Quellcode

    1. //Create
    2. globalvar sf, player_o, nummer, h, w, name;
    3. var X, Y, n, i;
    4. w = 800;
    5. h = 760;
    6. sf = surface_create(w,h); //Surface wird erstellt
    7. surface_set_target(sf);
    8. draw_clear_alpha(0,0); //und gecleaned
    9. draw_set_color(c_silver);
    10. draw_rectangle(1,1,w-1,h-1,true) //Rand außen
    11. surface_reset_target();
    12. for (n=1; n<=6; n+=1){
    13. i = string(n);
    14. X = random((w-50)+25);
    15. Y = random((h-50)+25);
    16. player_o[n] = instance_create(X,Y,obj_player); //6 Player-Objekte werden erstellt
    17. str = 'player_o['+i+'].sprite = sprite_'+i;
    18. execute_string(str) } //Spritename wird bestimmt
    Alles anzeigen


    obj_player:

    GML-Quellcode

    1. //Create
    2. motion_set(random(360),1.5);
    3. i = random(500);
    4. sprite = 0

    GML-Quellcode

    1. //Begin Step
    2. script_execute(scr_begin_step);


    scr_begin_step:

    GML-Quellcode

    1. i+=1;
    2. surface_set_target(sf);
    3. if i < 500 {
    4. motion_set(direction,1);
    5. draw_sprite_ext(sprite,0,x,y,1,1,self.direction,c_white,1)} else
    6. motion_set(direction,random(4)+3);
    7. if i > 501 i = 0;
    8. surface_reset_target();


    Im Anhang die gmk...
    Dateien
    • kurve prob.rar

      (11,62 kB, 190 mal heruntergeladen, zuletzt: )
  • Eine Sache, mach nich script_execute, das is langsam aus irgendwelchen Gründen, hab ich mir sagen lassen und ausserdem unschön, stattdessen mach lieber einfach nur zB scr_begin_step().

    Das mit der Surface liegt einfach nur daran, dass du die Surface nirgendswo zeichnen lässt.. xP
    "das war meine letzte flamewar PM an dich ."