mit den bildschirm mit gehen

  • GM 8
  • mit den bildschirm mit gehen

    halöööööchen

    wie schaft man das ein z.B. menü objekt immer beim laufen vom spieler (der bildschirm geht immer mit dem spieler mit) mit kommt?


    freue mich auf antworten :)
    [list][*]
    [/list][list][/list][list][/list]
    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
  • Hallöchen :)

    Geh einfach auf obj_player -> Create event -> Create Instance -> object Menu auswählen,
    und dann wenn der Menü genau auf dem Player sein will.

    x = obj_player
    y = obj_player
    -----
    Wenn der Menü unten/oben sein soll musst du ihn selbst einsetzen.
  • kaano123: Häh? Dein Code bewirkt nur, dass das Objekt an der Stelle ERSTELLT wird. husi will aber wissen, wie man macht, dass das Objekt dem View FOLGT, wenn das Bild sich bewegt, bzw. der Spieler. Er hat das Objekt also bereits erstellt. Außerdem ist dein Code sowieso falsch. Zum einen musst du x und y nach dem Objekt dazu schreiben - das Objekt allein bringt nichts:

    GML-Quellcode

    1. x = obj_player.x;
    2. y = obj_player.y;

    Zum anderen bewirkt dein Code, dass das Menü direkt AUF dem angegebenen Mittelpunkt des Spielerobjekts erstellt wird - das Menü würde also den Spieler erst einmal verdecken.

    Hier ist der richtige Code, husi. Den tust du in dein Menüobjekt. Du musst nur noch die Koordinaten nach den views entsprechend schreiben, um es auf dem Bildschirm an deiner gewünschten Stelle zu haben:
    :event_step: End Step

    GML-Quellcode

    1. x = view_xview[0]+100; // 100 Pixel von links
    2. y = view_yview[0]+10; // 10 Pixel von oben


    Noch besser allerdings würdest du mit dem :event_draw: draw-Event arbeiten, wenn du nur etwas anzeigen willst und keine Knöpfe oder ähnliches brauchst. Das wäre wesentlich schneller:
    :event_draw:

    GML-Quellcode

    1. draw_sprite(spr_menu, 0, view_xview[0]+100, view_yview[0]+10);

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von Bonsaiheld ()

  • kaano123 schrieb:

    Wenn er das obj_menu mit dem Create event erstellt -> auf obj_player. Folgt doch das Menu dem Player (mit view)
    Ich benutz kein Drag'n'Drop, aber das funktioniert garantiert nicht. Du hast geschrieben: "Create event -> Create Instance":

    Create event schließt bereits aus, dass das Objekt mitläuft, weil der Code nur ein einziges Mal ausgeführt wird, nämlich beim Erzeugen des ursprünglichen Objektes. Im Gegensatz zu allem, was im Draw- oder den Step-Events steht, dieses wird jeden einzelnen Step ausgeführt - wenn etwas mitgehen soll, muss der Code dafür also zwingend im Draw- oder in einem der Step-Events sein.

    Und Create instance erstellt nur ein Objekt - das Objekt selbst braucht aber noch den Code, um mit dem View zu gehen, sonst bleibt es einfach an der Stelle stehen, an der es erzeugt wurde. Und das ist nicht, was husi wollte.

    :)

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }