Colored lights

  • GM 8

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

  • Colored lights

    Hallo liebe gm-d ;)
    Ich hab mal ne Frage.
    Und zwar arbeite ich gerade an einem Lichtsystem. Das funktioniert auch wunderbar, nur möchte ich den Lichtern auch Farben geben.

    Ich drawe die lights auf einer Surface.
    Hier mein Code:

    GML-Quellcode

    1. //DRAW EVENT MEINES SURFACE OBJECTS//
    2. if surface_exists(surf)
    3. {
    4. surface_set_target(surf);
    5. draw_clear_alpha(c_black,0.85);
    6. draw_set_blend_mode(bm_subtract);
    7. with(oLight)
    8. {
    9. draw_sprite_ext(sprite_index,image_index,x / 2,y / 2,image_xscale,image_yscale,0,image_blend,1);
    10. }
    11. with(oLight_particle)
    12. {
    13. draw_sprite_ext(sprite_index,image_index,x / 2,y / 2,image_xscale,image_yscale,0,image_blend,1);
    14. }
    15. draw_set_blend_mode(bm_normal);
    16. surface_reset_target();
    17. draw_surface_ext(surf,0,0,2,2,0,image_blend,1);
    18. }
    19. else
    20. {
    21. surf = surface_create(room_width / 2,room_height / 2);
    22. }
    Alles anzeigen


    GML-Quellcode

    1. //DRAW EVENT DER LIGHTS
    2. if global.lights = true{
    3. draw_set_blend_mode(bm_add);
    4. draw_self();
    5. draw_set_blend_mode(bm_normal);
    6. }
    7. if global.lights = false{
    8. visible = false;
    9. }


    Im create event der lights soll meine Farbe definiert werden:

    GML-Quellcode

    1. //CREATE EVENT DER LIGHTS//
    2. image_xscale = 2;
    3. image_yscale = 2;
    4. image_alpha = 0.2;
    5. image_blend = make_color_rgb(222,222,0);


    Das müsste so eigentlich alles sauber funktionieren...tut es aber nicht :thumbdown:
    Also frage ich euch ;)

    -Sorm
  • So mein lieber Sorm,
    der papa erklärt dir jetzt mal woran es liegt :D

    GML-Quellcode

    1. if global.lights = true{
    2. draw_set_blend_mode(bm_add);
    3. draw_self();
    4. draw_set_blend_mode(bm_normal);


    Wieso drawt sich das Light den selbst? Und dann nochmal auf der Surface?!
    Das sollte sich nicht selber drawn, ansonsten wird das ja einfach übermalt, ohne subtract, und dann wirds auch nich farbig :D

    hihhihihi :D
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pacmangamer () aus folgendem Grund: Fresse-halten-smilie entfernt :D Sonst fängt er an zu weinen