Hi leute!
Wiedermal eines meiner "Surfaceprobleme" mit denen ich euch belästigen werde.
Habe diesmal wieder ein transparenzproblem das ich überhaupt nicht nachvollziehen kann...
Alles anzeigen
Es geht um volgendes:
Ich lade ein Tileset mit background_add in den Game Maker.
Diesen Background lasse ich auf eine Surface zeichnen, vo nder ich schritt für schritt die einzelnen Tiles als Sprites rausschneide.
Das Funktioniert eigentlich recht gut. Bis auf eine kleinichkeit.
Wenn das entsprechende Tile komplett transparent ist (sprich: es keinerlei sichtbaren Pixel auf der Fläche hat) dann wirkt die Transparenz des Tiles nicht und das Spiel schneidet
aus irgendeinem Grund ein schwarzes "rechteck" aus statt ein "transparentes" Feld.
Habe versucht die Surface mit "draw_clear_alpha(c_white,0);" vorher noch zu "reinigen" mit dem Ergebniss, dass das scharze Rechteck dann weiß wurde...
Bei Tiles die wenigstens 1 Pixel auf der Fläche haben , wird die restliche transparente Fläche korrekt erkannt.
Ich darf im Prinzip kein Transparentes Tilteset haben ,da sonst das Game die Fläche komplett mit schwarz oder Weiss befüllt...
Wisst ihr woran da liegt?
Wiedermal eines meiner "Surfaceprobleme" mit denen ich euch belästigen werde.
Habe diesmal wieder ein transparenzproblem das ich überhaupt nicht nachvollziehen kann...
GML-Quellcode
- //global.blockSprites = ds_list_create();
- var text_charset;
- text_charset = background_add("./data/gui/charset.png",true,false);
- var spriteSurface_charset;
- spriteSurface_charset = surface_create(16 *8,16 *8);
- surface_set_target(spriteSurface_charset);
- draw_clear_alpha(c_white,0);
- draw_background(text_charset,0,0);
- surface_reset_target();
- var t;
- t = 0;
- for (i = 0;i<16;i+=+1){//von oben nach unten
- for (g = 0;g<16;g+=+1){//gehe von links nach rechts
- global.text_charset[t] = sprite_create_from_surface(spriteSurface_charset,g*8,i*8,8,8,false,false,0,0);
- t+=+1;
- }
- }
- surface_free(spriteSurface_charset);
- background_delete(text_charset);
Es geht um volgendes:
Ich lade ein Tileset mit background_add in den Game Maker.
Diesen Background lasse ich auf eine Surface zeichnen, vo nder ich schritt für schritt die einzelnen Tiles als Sprites rausschneide.
Das Funktioniert eigentlich recht gut. Bis auf eine kleinichkeit.
Wenn das entsprechende Tile komplett transparent ist (sprich: es keinerlei sichtbaren Pixel auf der Fläche hat) dann wirkt die Transparenz des Tiles nicht und das Spiel schneidet
aus irgendeinem Grund ein schwarzes "rechteck" aus statt ein "transparentes" Feld.
Habe versucht die Surface mit "draw_clear_alpha(c_white,0);" vorher noch zu "reinigen" mit dem Ergebniss, dass das scharze Rechteck dann weiß wurde...
Bei Tiles die wenigstens 1 Pixel auf der Fläche haben , wird die restliche transparente Fläche korrekt erkannt.
Ich darf im Prinzip kein Transparentes Tilteset haben ,da sonst das Game die Fläche komplett mit schwarz oder Weiss befüllt...
Wisst ihr woran da liegt?
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von LEWA ()