Flugzeug Schatten beim Start

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

  • Flugzeug Schatten beim Start

    Hey,

    melde mich nach längerer mal wieder :D.
    Hatte ein paar Private Probleme und die Nintendo Switch ist ja raus gekommen.
    Jetzt da ich wieder ein bisschen Zeit zum programmieren habe, hätte ich direkt mal wieder eine Frage :P.
    Und zwar mache ich derzeit eine Kriegs-Flugzeugs Spiel. Und die Flugzeuge haben halt Schatten. (Ein einfacher leicht transparente Sprite.)
    Wenn man auf den Boden ist soll der Schatten fast unter einen Sein und eigentlich genau so groß wie der Spieler.
    Aber wenn man abhebt soll der Schatten, weiter unten Rechts in der Ecke sein. Wie kann ich da einen Flüssigen übergang machen, so dass
    desto so höher das Flugzeug des Spieler ist, desto so kleiner und weiter weg der Schatten ist. Habe zum verstehen zwei Bilder angehängt.
    Ein wie es aussehen soll wenn das Flugzeug am Boden ist und eins wie es aussehen soll wenn es in der Luft ist.
    (Sprites sind nicht Final, nur aus den Internet rausgesucht zum ver­an­schau­li­chen )

    LG Andi :)
    Bilder
    • ffrage1.PNG

      32,47 kB, 1.027×769, 261 mal angesehen
    • ffrage2.PNG

      35,32 kB, 1.029×772, 291 mal angesehen
    Hallu :3
  • Welcome back, @byGurkiii

    Am besten ist du verwendest eine variable z oder gleich die depth. Wenn z höher wird, steigst du auf und verschiebst das schattensprite um einen gewissen Faktor. Auch der Scale wird dann kleiner.

    GML-Quellcode

    1. shadowx = z;
    2. shadowy = z*0.5;
    3. shadowscale = z/maximalerWertVonZ;
    4. draw_sprite_ext(shadow,subimage,x+shadowx, etc ---)

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Das geht auch einfach mit lengthdir in eine beliebige Richtung

    GML-Quellcode

    1. xx = lengthdir_x(height*factor,direction);
    2. yy = lengthdir_y(height*factor,direction);
    3. //draw_sprite_ext(spr_shadow,0,x+xx,y+yy,...


    Bei einer dynamischen Sonne könntest du direction dann mit point_direction(sonne.x,sonne.y,spieler.x,spieler.y) ermitteln.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:

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