screen schwarz machen außer einem bestimmten bereich & aufblitzende "blend" Sprites kugeln

  • GM 7
  • screen schwarz machen außer einem bestimmten bereich & aufblitzende "blend" Sprites kugeln

    Hallo Leute! Ich habe wiermal ein Problem. :S

    Also: Ich möchte das man bei einem Tastendruck, den kompletten Screen schwarz macht. (Jedoch das er leicht transparent wird.) Außerdem darf ein kleiner Kreis (mit beliebigem Radius) um der Maus herum von dieser Schwärze nicht betroffen sein.

    Wie realisier ich so etwas? Ich habe mich mit so etwas nie auseinandergesetzt. Darum frag ich hier mal nach. :D

    Noch was: ICh wollte fragen wie man solche "Blend" Effekte (Wie kurz aufblitzende Kugeln) erstellen kann.
    (Also ein Sprite das von innen nahc ausen von weis nach schwarz gefärbt wird und mit einem Blend effekt versehen wird.) Wie man ich das es dan im Game einen kurzen "aufblitz" effekt verursacht?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LEWA ()

  • das einfachste zu deinem problem wäre ein sprite welches du durch einen alpha von 0.6 oder ähnlichem durchsichtig machst. dies ist sehr ressourceverbrauchend.das solte funktionieren:
    4 Rechtecke die sich um die maus herum platzieren und um die maus ein sprite:

    GML-Quellcode

    1. xrec=mouse_x
    2. yrec=mouse_y
    3. reca=0.6//alphawert
    4. draw_set_alpha(reca)
    5. draw_set_color(c_black)
    6. recb=32//abstnad von rechteck zur maus
    7. draw_rectangle(0,0,xrec-recb,room_height,0)//linkes rechteck
    8. draw_rectangle(xrec+recb+1,0,room_width,room_height,0)//rechtes
    9. draw_rectangle(xrec-recb+1,0,xrec+recb,yrec-recb-1,0)//oberes
    10. draw_rectangle(xrec-recb+1,yrec+recb,xrec+recb,room_height,0)//unteres
    11. draw_sprite_ext(sprite0,0,xrec+1,yrec,1,1,0,noone,reca)
    12. draw_set_alpha(1)
    Alles anzeigen

    und das sprite dazu in etwa so


    wenn der radius kleiner sein soll verstelle die variable recb
    und natürlich muss das sprite den gleichen radius haben. ansonsten kannst du noch den alpha wert verstellen mit reca
    und ewil ich gard gut drauf bin hier ein example:(ich geh davon aus das mti dem tastendruck bekomsmt du hin(variablen wären ne idee))
    Dateien
    • alles schwarz.rar

      (10,49 kB, 173 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von gamer_08 ()

  • hier ne Möglichkeit ganz ohne Ressourcen.
    Es funktioniert mit einer surface sowie den blend-mode Funktionen.
    Hab ich mal in Form eines Fog of War examples gemacht.



    Leider in GM8 ...
    Dateien
    • fog of war.rar

      (2,48 kB, 187 mal heruntergeladen, zuletzt: )

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

  • mir fällt gard auf, du hast es in gm8 hochgeladen.
    Lewa und auch ich können es so nicht öffnen. bitte nochmal in gm7
    Edit1: ok ich werd meins überarbeiten damit auch er es mit seiner lite bnutzen kann, und Dragon: deines stützt sich komplett auf surfaces und geht damit nicht bei ihm :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gamer_08 ()

  • Im Grunde muss man nur eine Surface erstellen, und diese mit einem schwarzen Rechteck füllen.
    Dann kommt das in ein step-event (nicht draw event!):

    GML-Quellcode

    1. draw_set_color(c_black);
    2. surface_set_target(surface)
    3. draw_rectangle(-1,-1,room_width+1,room_height+1,0)
    4. draw_set_blend_mode(bm_subtract)
    5. draw_circle(mouse_x,mouse_y,64,0)
    6. draw_set_blend_mode(bm_normal)
    7. surface_reset_target()



    Und im Draw event wird die surface gezeichnet.
    Die Mauskoordinaten kann man natürlich ersetzten durch was man will.


    EDIT: leider kann man dieses Verfahren mit bm_subtract nur auf Surfaces anwenden.
    Wenn man ein normales Rechteck zeichnet und dieses dann an einigen Stellen auszuradieren versucht klappt das leider nicht.

    Für einen Großen raum wie in einem RTS ist das somit doch sehr ressourcenfressend :/

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

  • Benutzer online 1

    1 Besucher