Sichweise (Licht + Raum) (oO)

  • GM 6

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

  • Sichweise (Licht + Raum) (oO)

    ^^'
    Ich weis komischer name...
    ich weis leider nicht wie ichs nennen soll!...
    Ich mach grad so nen klenen shooter (2d und von oben)
    Ich habe ein "Solides Wall Object" und natürlich nen player
    =]
    Hier meine frage:
    wie bekomme ich einen ähnlichen.. (ach wie nenn man das ?( :| )... Licheffekt hin wie in CS2D ??? *pic-anhäng
    also... ich hoffe ihr wisst was ich meine... das auch wirklich nur das hell ist, was von der playerpos. aus gesehen werden kann... :S *argh
    ;) vielen dank schon mal lg
    BigBadBoy =]
    Bilder
    • Unbenannt.png

      216,62 kB, 640×480, 320 mal angesehen
    Yes:evil:! It's me:whistling:'
  • Das nennt sich Fog of war. Ich weiß zwar wie es in CS2D funktioniert, doch der GM ist einfach viel zu lahm um das so zu verwirklichen.
    Ich hätte da zwar schon einen konkreten Code im Kopf, aber glaub mir... Das würde viel zu langsam sein.

    © 2008 by Teamgrill Productions
  • also wenn das licht nur um den character herum ist, würde ich dass nehmen:

    GML-Quellcode

    1. //Stellt Schwarze Farbe ein.
    2. draw_set_color(c_black)
    3. //Übermalt Sachen, die sich weit Weg befinden.
    4. draw_rectangle(0,0,mouse_x-64,room_height,false)
    5. draw_rectangle(0,0,room_width,mouse_y-64,false)
    6. draw_rectangle(mouse_x-64,room_height,room_width,mouse_y+64,false)
    7. draw_rectangle(mouse_x+64,0,room_width,mouse_y+64,false)
    8. //Stellt bm_subtract ein.
    9. draw_set_blend_mode(bm_subtract)
    10. //Malt den Hintergrund, mit dem wir das Licht abziehen
    11. draw_background_stretched(bg_lightsource,mouse_x-64,mouse_y-64,128,128)
    12. //Stellt normalen blendmode ein.draw_set_blend_mode(bm_normal)
    Alles anzeigen
    Arbeitet mit Blendmodes. Du kannst die '64' und die '128' mit der Sichtweite ersetzen. Außerdem brauchst du noch nen hintergrund 'bg_lightsource' glaub ich heißt er hier. Dafür kannste einfach einen Kreis-Gradient aus Shwarz und weiß machen. mouse_x und mouse_y mit deiner position ersetzen, und schon sollte esw klappen.
    Danke ans Buch ('GameMakers' Apprentice') für den script. Ist echt gut und ich kann es nur empfehlen:thumbup:
  • :thumbdown:
    Also erst mal... Fog of War ist der Kriegsnebel, bekannt aus Age of Empires, das ist aber nicht das was ich suche! In Age of Empires kannst ja durch wälder gebäude usw. sehen... das brauch ich aber nicht!... wie gesagt... das ist halt etwas... das man nicht mehr um ecken sehen kann... 8| ?(
    sonnst noch wer nen (brauchbare) Vorschlag?

    EDIT!:
    WAAA^^'
    da war jmd. schneller als ich.. mom pls schau mir das mal an^^' :rolleyes:
    Yes:evil:! It's me:whistling:'
  • Wenn es um Fog of War geht, sieh dir mal das Beispiel von CAS an.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Was mir dazu einfallen würde ist folgendes:
    Lass den Player ständig unsichtbare Schüße in die Richtung wohin er gerade schaut plus zwei oder mehr weitere Schüße in einer gewissen Gradzahl abfeuern. Wenn die Schüße beispielsweiße einen Gegner treffen ist der Gegner sichbar für ca. 2 Sekunden. Wird der Gegner inerhalb der 2 Sekunden wieder getroffen bleibt er sichtbar. Treffen die Schüße auf eine Kiste werden sie zerstört. Natürlich kannst du auch noch mehr Schüße machen die in eine andere Gradzahl fliegen um das Sichtfeld deines Players zu erweitern. Ich hoffe du verstehst was ich mein.
  • Ich hab dir mal ein Beispiel gemacht, die Schüße die als Augen dienen vergrößern sich dazu noch ständig, damit auch weiter entfernte Objekte noch angezeigt werden.

    host-a.net/GrinchXL/Sichtbereich_Topdown.rar

    Ich hoffe es hilft dir ein bischen weiter
  • Hab dir auch mal ein Beispiel gemacht (zwar nicht optimal, aber auch eine Möglichkeit^^).
    Nun erläuter ich es ein bischen. Also: Ich hab die Lichtengine von Xiebel etwas geändert und da eingebaut. Im stepevent vom Objekt controller wird nun ein Script aufgerufen, welches die "Sichtwinkel" prüft. Falls sich dort nichts befindet, kann man dahin gucken. Bischen doof beschrieben, aber wirst schon sehen, was ich meine.
    Dateien
    • fogofwar.rar

      (255,24 kB, 257 mal heruntergeladen, zuletzt: )
  • Benutzer online 2

    2 Besucher