Umrandung / Glow

  • GM 8

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

  • Umrandung / Glow

    Hallo~

    In diesem Spiel: *link* ist alles mit einer Schwarzen Linie umrandet. Diese Linie wird eindeutig erst später im Spiel erzeugt und ist nicht teil der sprites (sofern das in dem Game nicht sowieso alles mit draw gemacht ist), da sie immer nur um dinge herum geht und sich auflöst, wo sie sich berühren.
    Meine Frage: Wie geht das? Und wie weit lässt sich das noch erweitern? (ich kann mir nämlich nicht im entferntesten vorstellen wie man es hinbekommt...
    Könnte man auch eine linie mit einer anderen stärke zeichnen lassen, oder gar jeden Sprite nachträglich mit einem glühen umranden lassen? (das mit dem glühen wäre eigentlich noch cooler)
    [hide=(so)] [/hide]

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Shizaso ()

  • Leider will das Spiel bei mir irgendwie nicht gehen aber ich weis was du meinst. Ich bräuchte das selbe für mein Spiel, den Screenshoots nach könnte es aber auch eine Umgehung sein, wenn die Kontur immer gezeichnet wird aber mit einer viel größeren Depth als das Innere, könnte das Innere beim Berühren die Linie an den bestimmten Stellen überlappen und somit glatt in das andere Objekt übergehen.

    Das funktioniert aber nicht wenn man die Objekte im Spiel deformieren muss wie in meinem Spiel.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Sowas (zumindest die schwarze linie) lässt sich mit einem nachträglichen Object lösen.
    Das object muss eine höhere depth als die anderen haben und im Draw event folgenden Code:

    GML-Quellcode

    1. with (all) {
    2. draw_sprite_ext(sprite_index,image_index,x,y,xscale+0.1,yscale+0.1,image_angle,c_black,image_alpha)
    3. }

    Um Rechenzeit zu sparen lohnt es, all gegen eine bestimmte gruppe von Objecten auszutauschen. Am besten lässt sich das mit parents lösen...
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • 1.erstell ein surface
    2.mach es komplett transparent
    3.zeichne mit schwarz alle objekte vier mal versetzt darauf ( draw(x-1,y);draw(x,y-1);draw(x+1,y);draw(x,y+1); )
    4.lass irgendein controller objekt das surface mit höherer depht in den raum zeichnen
    5.fertig!

    €dit: PS: die idee mit x/y-scale von WIN wird nich so funktionieren wie du es gern hättest machs so wie ichs sag
  • Mit Anti-aliasing hast du mich auf eine idee gebracht. hab ich so noch nie probiert, aber es könnte gehen.
    Duplizier das Sprite dass du glow haben willt im Editor und sklaier es deutlich kleiner, z.b. 25 oder 50 % je nachdem wie viel Glow du willst.
    Dann zeichnest du im Spiel hinter dem eigentlichen Sprite dieses neue Sprite wieder vergrößert. Also mit den x/yscale argumenten von draw_sprite_ext, also wenn das Sprite 1/4 vom original ist, dann muss es 4 mal so groß gezeichnet werden.
    Achte darauf dass im Sprite editor genug Rand um das Bildchen ist damit keine kanten entstehen.
    Andere Möglichkeit: benut im Editor die blur-funktion und zeichne den Sprite ganz normal hinter dem Original.

    So muss eigentlich nichts ingame errechnet werden aber ich weiss nicht wie gut es aussieht.

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