Bildschirmrand als Begrenzung für Player festlegen

  • Bildschirmrand als Begrenzung für Player festlegen

    Hey Leute,

    Nach einiger Zeit habe ich mich mal wieder einem kleinen Projekt gewidmet. :)

    Hier bräuchte ich einmal kurz eure Hilfe. Es geht eigentlich nur um die banale Frage, wie ich den Bildschirmrand als Begrenzung für meinen Player festlege.

    Dieser hat die Möglichkeit zwischen drei Positionen auf dem Bildschirm. Das heißt, er startet in der Mitte des Bildschirms und lässt sich durch die Tastatur jeweils nach links oder rechts bewegen. Drücke ich nach links, springt er auf die linke Position (x = x - 385), drücke ich nach rechts, springt er auf die rechte Position (x = x + 385). Wie stelle ich es an, dass er nicht aus dem Bildschirm verschwindet, wenn er auf einer der äußeren Positionen ist und ich nach rechts, oder links drücke?

    Viele Grüße,
    Marius
  • ganz leicht:
    pack diesen Code ins step

    GML-Quellcode

    1. // nicht rechts oder links aus dem Bildschirm gehen
    2. if x < 0
    3. x = 0;
    4. if x > room_width
    5. x = room_width;
    6. // nicht oben oder unten raus gehen
    7. if y < 0
    8. y = 0;
    9. if y > room_height
    10. y = room_height;
    Alles anzeigen
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Ist die x Koordinate deines Spielers in der Mitter des Spielers oder links vom Spieler? Dann steht dein Spieler nämlich ein paar Pixel ausserhalb des Raums und es sieht aus als würde es nicht funktionieren.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Aku_Ryou schrieb:

    Ist die x Koordinate deines Spielers in der Mitter des Spielers oder links vom Spieler? Dann steht dein Spieler nämlich ein paar Pixel ausserhalb des Raums und es sieht aus als würde es nicht funktionieren.


    Dat war's! Ich musste jetzt nur noch ein bisschen rumprobieren mit den Zahlen (dadurch, dass die x-Koordinate jetzt der Mittelpunkt ist, stimmte "0" und "1080" nicht mehr) Vielen Dank!

    Grüße,
    Marius