Simples Licht, alles soll dunkel sein, nur um bestimmte Objekte soll es normal (hell) sein.

  • GM 8

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

  • Simples Licht, alles soll dunkel sein, nur um bestimmte Objekte soll es normal (hell) sein.

    Hi,
    ich würde gerne mal wissen wie man solch ein Licht erstellt:

    Game: Wasteland Kings by Vlambeer - Image by Pac


    Also, man kann ja schon sehen wies sein soll.
    Nicht zu sehen ist das Schüsse aus Pistolen usw. auch leuchten und einen kleinen Lichtkegel haben.

    Wie kann ich ein ähnliches Licht bekommen?
    (Theoretische erklärung mit ein paar GML-Codes wären klasse)

    Gibt es vllt. eine Möglichkeit ein großes schwarzes Rechtek zu erstellen (drawen) und dann ein sprite oder so davon abzuziehen und die besagte stelle transparent zu machen?


    Vielen Dank schonmal ^^
    Sorm ist Schuld

    Edit: Doch ist er

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

  • Du kannst auch theoretisch einfach eine Grafik erstellen die über den ganzen Bildschirm gezeichnet und vor allem "ganz" (edit: ok doch nicht ganz oben, sondern noch unter der Lebensanzeige ect. xD) oben gezeichnet.
    Die Stellen die normal sichtbar sein sollen sind dann jenachdem ob es ganz normal sein soll 100% transparent und wo es ein wenig dunkler sein soll z.B. schwarz mit 80% Transparenz.


    mfg
  • Du kannst auch das ganze raum Dunkel machen und einen runden kreis dann noch erstellen und das durch dann die Helligkeit (sprich; -100 Depth) machen. Wie du deinen Raum dunkel machst

    Beispiel:

    GML-Quellcode

    1. http://gmc.yoyogames.com/index.php?showtopic=485956
  • Du kannst einen Surface benutzen und BlendModes, zuerst zeichnest du in den Surface ein schwarzes Reckteck über den ganzen View, dann benutzt du den BlendMode bm_subtract und zeichnets dann dein jeweiliges Sprite drüber, am Ende zeichnets du noch im Draw-Event das Surface selbst über alle Objekte drüber (oder unter dem HUD).

    GML-Quellcode

    1. //Create-Event
    2. surface=surface_create(view_wview, view_hview);
    3. //Step-Event
    4. surface_set_target(surface);
    5. //Rechteck zeichnen
    6. draw_set_blend_mode(bm_subtract);
    7. //Sprite zeichnen
    8. draw_set_blend_mode(bm_normal);
    9. surface_reset_target();
    10. //Draw-Event
    11. draw_surface(surface, view_xview, view_yview);
    12. //Destroy-Event (clean up)
    13. surface_free(surface);
    Alles anzeigen
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Da sein Profil sagt, dass er noch Anfänger sei, wäre meine Lösung glaube ich am verständlichsten, da man einfach nur eine Grafik mit nem Bildbearbeitungsprogramm (mit dem GM glaub sogar auch)
    schnell realisieren kann :p

    Ob er sich wohl schon mit Surfaces und so auskennt ... ich bin jedenfalls der Meinung man sollte nicht einfach nen Code übernehmen den man nicht versteht.
    Wenn er mit surfaces arbeitet sollte er sich zumindest anschauen wie das ganze funktioniert :)
  • @Unistyle

    Auf deine Lösung bin ich schon längst gekommen, allerdings ist das Problem ja, dass ich auch bspw. Fackeln oder Schüsse als zusätzlihe Lichtquelle benutzen möchte ;)
    Trotzdem danke


    Ich würde mich inzwischen schon GML Fortgeschrittener nennen, aber ich denke ich hab bereits eine ganz nette Lösung gefunden, aber ausprobiert hab ichs noch nicht.
    Ich danke euch allen aber schonmal für die Hilfe, hat mich schon n ganzes Stückchen weitergebracht,

    Ich schau mir momentan das hier an (scheint mir eine relativ simple Lösung zu sein die genau das kann was ich gern hätte):
    gmc.yoyogames.com/index.php?sh…romsearch=1&#entry2926742 :thumbup:
    Sorm ist Schuld

    Edit: Doch ist er