Bewegter Parallaxhintergrund

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

  • Bewegter Parallaxhintergrund

    Hallo Community,

    ich lasse die Layer, welche parallaxartig bei einem Platformer im Hintergrund ablaufen sollen, mit der Funktion layer_x im Objekt o_camera ablaufen.
    Wenn ich nun beispielsweise Wolken im weiter entfernten Hintergrund haben möchte sieht die Funktion so aus:
    layer_x("Clouds", x*0.7);

    Nun sollen die Wolken sich aber unabhängig davon auch bewegen, was ja regulär mit der Funktion layer_hspeed funktioniert.
    Wenn sie nun von rechts nach links laufen sollen, nutze ich
    layer_hspeed("Clouds", -0.1);

    Ich möchte nun eine Kombination aus beidem. Leider heben sich beiden Funktionen scheinbar auf.
    Kann mir bitte jemand weiterhelfen?

    Vielen Dank und LG
    ToFu-Pix
  • Hi, keine Ahnung, ob Dir das auf die Schnelle hilft, aber es gibt ja für Background-Layer
    einen eigenen Befehl:


    Quellcode

    1. layer_background_speed(background_element_id, speed);
    Sorry, nur halb gelesen, aber hebt es sich vielleicht nur deshalb auf, weil die Bewegungsrichtungen
    unterschiedlich sind?
    Denn wenn ich von z. B. +0.7 die -0.1 rechne, dann wird man das wahrscheinlich nicht bemerken.

    Miradur

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

  • Moin,

    vielen Dank für die Antwort.

    GML-Quellcode

    1. layer_background_speed(background_element_id, speed);
    gilt ja nur für die Animationsgeschwindigkeit. Sie hat also nur Auswirkungen auf Sprites, die mehr als nur aus einem Bild bestehen.

    Ich hab nun eine "unschöne" Lösung gefunden. Ich definiere eine Variable

    GML-Quellcode

    1. spd = 0
    und baue diese dann ins Step-Event folgender Maßen ein:

    GML-Quellcode

    1. spd -= 0.1;
    2. layer_x("Clouds", x*0.7 + spd);


    Wenn jemand eine elegantere Lösung hat, als eine Variable dauerhaft laufen zu lassen, dann immer her damit :)

    Vielen Dank nochmals
    ToFu-Pix
  • ToFu-Pix schrieb:

    Ich hab nun eine "unschöne" Lösung gefunden. Ich definiere eine Variable

    GML-Quellcode

    1. spd = 0
    und baue diese dann ins Step-Event folgender Maßen ein:

    GML-Quellcode

    1. spd -= 0.1;layer_x("Clouds", x*0.7 + spd);

    Also so mach ich das auch. Ich würde sagen, that's the way to go. Ich sehe da nichts unschönes daran.
    PUTREFACTION ////
    ◇ ALIEN BASTARDS ◇ SLY PITCH ◇ SHOVE MASTER ◇

  • Benutzer online 2

    2 Besucher