Gelöst: Objekt.visible = true wird nicht sichtbar/ Alternativen?

  • GM 8

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

  • Gelöst: Objekt.visible = true wird nicht sichtbar/ Alternativen?

    Hallo zusammen,

    ich versuche mich seit wenigen Tagen an dem GameMaker und bin aber auch bereits eine Weile im Stillstand. Da ich nun aber absolut nicht vorwärts komme, stelle ich einfach mal mein Problem hier rein :)

    Folgendes kleines Script befindet sich im Spieler-Objekt als Step Event. Wenn der Spieler eine Tür (Tuergeschlossen) berührt, soll ein Button (EnterTuerObj) sichtbar werden. Leider wird der Button nicht sichtbar. An den Depht kann es wohl nicht liegen, das Objekt ist im Raum abgelegt und wenn ich es allg. sichtbar lasse, ist es auch im Spiel-Modus zu sehen. Also liegt es entweder an diesem Code:

    Quellcode

    1. if place_meeting(x,y,Tuergeschlossen)
    2. EnterTuerObj.visible = true


    oder an dem Code, mit dem ich den Button unsichtbar gemacht habe (direkt im EnterTuerObj als Create - Event):

    Quellcode

    1. EnterTuerObj.visible = false


    Bin ein totaler Anfänger, daher seid mir nicht böse wenn ich hier einen dummen Denkfehler habe.

    Grüße und Danke

    Knorke

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Captain_Knorke ()

  • Vielleicht musst du die Kollisionsmaske der Tür vergrößern. Wenn aber die Kollision stattfindet (würde ich herausfinden, indem ich es mir einfach in einer Textbox [show_message()]anzeigen lasse), könntest du versuchen

    GML-Quellcode

    1. if place_meeting(x,y,Tuergeschlossen)
    2. {
    3. with(EnterTuerObj)
    4. {
    5. visible = true
    6. }
    7. }


    Das wär jetzt so dass was mir einfällt...ich hoff, dass das richtig ist...
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sk.Info.k.P. ()

  • Ich glaube, ich würde das ganze sowieso in ein Kollisionevent machen (aber ich glaube nicht, dass das viele so machen...) . Notfalls in beide Objekte.

    Also ich meine wenn Spieler mit Tür kollidiert Button visible, bzw Tür mit Spieler.
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • Gerade probiert, Button taucht nicht auf. Als Code habe ich in Spieler und Türgeschlossen Objekt einfach nur:

    GML-Quellcode

    1. EnterTuerObj.visible = true


    eingegeben.

    VG

    Knorke


    Edit: Vielleicht gibt es auch einen alternativen Weg, andere Befehle/Events um es umzusetzen?

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

  • Ich wollte mich mal zurück melden, nach langer Suche und rumforschen, testen und probieren habe ich nun folgende Lösung gefunden, welche auch funktioniert.

    in meinem Button EnterTuerOBJ ist immer noch der Code:

    GML-Quellcode

    1. EnterTuerObj.visible = false


    damit dieser unsichtbar ist. Denke aber das ich diesen Code entfernen kann, da ich direkt an der geschlossenen Tür folgenden Code eingefügt habe:

    GML-Quellcode

    1. if(distance_to_object(Player01) < 50)
    2. {
    3. EnterTuerObj.visible = true;
    4. }
    5. else
    6. {
    7. EnterTuerObj.visible = false;
    8. }



    Nachteil an der Geschichte ist, da ich mehrere Türen habe, muss ich für jede Tür ein separates Objekt erstellen. Sonst öffnen sich alle Türen im gleichen Raum... oder später in allen Räumen, was nicht Sinn und Zweck der Sache ist :)

    Grüße

    Knorke