Kamera "vorrausschauend" einstellen

  • GM 7
  • Kamera "vorrausschauend" einstellen

    Hallo!

    Ich hab bei meinem jetzigen Projekt ein kleines Problem, das glaub ich leicht zu lösen wäre, aber ich schaffs irgendwie nicht.

    In meinem Spiel verfolgt die Kamera den Charakter. Meine Figur fliegt langsam nach unten und muss dabei Stacheln ausweichen und überleben. Die Figur ist dank der verfolgenden Kamera immer in der Mitte. Deswegen ist das etwas zu schwierig - man sieht die Gefahr erst kurz bevor es vielleicht schon zu spät ist. Wie kann ich das einstellen, das man weiter nach unten sehen kann und die Figur also weiter oben ist?

    Ich hoffe ihr kennt euch aus. Wenn nicht, werd ich mal eine Skizze machen.

    Danke für jede Antwort!
  • Ist schon gar nicht so schlecht.. Danke für den Code!

    Leider ist aber meine Figur ganz oben - einen Teil sieht man garnicht. Am besten wärs, wenn meine Figur nur ein bisschen weiter oben ist.
    Ausserdem hab ich einen Raumwechsel-effekt. Dadurch (glaub ich zumindest) entsteht ein weiteres Problem: Das Level geht auf, die Figur steht mitten im Raum und plötzlich springt sie nach oben. Das lässt sich (glaub ich...) aber durch verschieben der Figur beheben...
  • Das Level geht auf, die Figur steht mitten im Raum und plötzlich springt sie nach oben.

    Für einen Übergangseffekt wird (glaube ich) bei allen Objekten das Draw Event einmal ausgeführt. Versuche mal den Code ins Draw Event zu setzen.

    GML-Quellcode

    1. view_yview[0] = y+sprite_get_height(sprite_index)

    sollte gehen um die Figer ganz oben am Rand zu haben.

    Beides ungetestet.
  • Ich will die Figur ja nicht ganz oben am Rand haben, ich will sie nur in der oberen Bildschirmhälfte...

    Hab den Code ausprobiert, die Figur ist jetzt über den sichtbaren Bereich. :huh:

    Egal. So dringend ists jetzt auch nicht. Trotzdem Danke für deine Hilfsbereitschaft!
  • Es geht natürlich auch in der oberen Bildschirmhälfte. Folgender Code ist dafür nötig:

    GML-Quellcode

    1. view_yview[0] = y-view_hview[0]*0.3;

    Der Faktor 0.3 ist dabei nach eigenen Bedürfnissen veränderbar, je größer er ist, desto weiter unten wird der Spieler dargestellt.

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

  • Drawing event
    Instanzen, wenn sie sichtbar sind, zeichnen ihr Sprite in jedem "step" auf den Bildschirm. Wenn du Aktionen im "drawing event" definierst, wird das sprite nicht gezeichnet aber stattdessen die Aktionen ausgeführt.

    Also:

    GML-Quellcode

    1. draw_sprite(sprite_index,image_index,x,y)

    Nach unten in das Draw Event
    ;)