Room transitions - HUD mitbewegen?

  • GM 8

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

  • Room transitions - HUD mitbewegen?

    Da bin ich auch schon wieder.
    Ich habe ein Problem mit meinem widerspenstigen HUD.

    Ich benutze derzeit Room transitions aus der Game Maker extension, um einen Zelda 1 ähnlichen Raumübergang zu schaffen.
    Das Ganze wäre ja eigentlich kein Problem, allerdings arbeite ich in Räumen und nicht in Views.

    Was mich nun bei den Game Maker Raumübergängen stört, ist das mein HUD nicht mitscrollen möchte.
    Ich gehe davon aus, dass der Übergang sämtliche Instanzen deaktiviert, weshalb ich nicht versucht habe, das HUD manuell mit zu verschieben (Entschuldigung dafür, falls es doch möglich sein sollte.)

    Und nun stehe ich vor dem Problem, ob es nicht doch sinnvoller wäre, irgendwie eigene Raumübergänge zu schaffen (Wo ich allerdings Probleme hätte, da es sich wie bereits erwähnt nicht(!) um views handelt),
    diese ganz wegzulassen, was ich schade finden würde, oder nach einer Möglichkeit zu suchen, das Ganze mit den GM transitions zu schaffen.

    Transition Code (im Step-Event des Players):
    Spoiler anzeigen

    GML-Quellcode

    1. if(x < 16)
    2. {
    3. transition_kind = 14;
    4. room_goto(string(global.roomX-1)+"_"+string(global.roomY));
    5. x = room_width-16;
    6. }
    7. if(x > room_width - 16)
    8. {
    9. transition_kind = 15;
    10. room_goto(string(global.roomX+1)+"_"+string(global.roomY));
    11. x = 16;
    12. }
    13. if(y < 16)
    14. {
    15. transition_kind = 16;
    16. room_goto(string(global.roomX)+"_"+string(global.roomY-1));
    17. y = room_height-80;
    18. }
    19. if(y > room_height-80)
    20. {
    21. transition_kind = 17;
    22. room_goto(string(global.roomX)+"_"+string(global.roomY+1));
    23. y = 16;
    24. }
    Alles anzeigen


    Das HUD und der Player sind zudem übrigens als 'Persistent' geflagt.

    Zu allem Überfluss, gibt es noch eine crappy .gif im Anhang, um Missverständnisse zu vermeiden.

    Mit freundlichen Grüßen,
    Yivo

    EDIT: Ich bin mein Problem die letzten zwei Stunden theoretisch nachgegangen. Ist es möglich, das HUD vom eigentlich Spiel zu trennen? Also das ich das HUD nicht in einen Raum, ,sondern in einen Extrabereich zeichnen kann?

    EDIT2: Ich habe mich umentschieden und werde nun ganze Level, bzw. Ebenen (höchstens 10x10 solcher Räume) in einen Raum zeichnen und immer nur die Instanzen in der View aktivieren, bzw. das Ganze über die Views regeln. Es würde mich allerdings trozdem interessieren, ob jemand eine Lösung bezüglich der Räume hätte :)

    EDIT3: Zwei weitere Stunden Feintuning und die Sache war erledigt.

    Ich habe das Problem nun gelöst und es mit Views abgehandelt.

    Zuerst habe ich ein Objekt erstellt, dem meine View folgt. Die Hbor und Vbor Variablen sind genau die Hälfte der View. Das Objekt, dem die Kamera folgt, befindet sich hierbei auch immer im Mittelpunkt.
    Durch das Eintragen von Geschwindigkeiten in der View (Hsp und Vsp) habe ich anschließend den fließenden Übergang geregelt, indem ich das Kameraobjekt, sobald der Player einen Rand berührt, um die Raumbreite, bzw. Höhe verschoben habe.

    Sobald der Player den Rand berührt, wird der boolean isViewMoving auf true gesetzt, wodurch sich sämtliche Instanzen nicht mehr bewegen können.

    Nun kam ein wenig testen ins Spiel, bis ich den richtigen Zeitwert rausbekommen habe, welchen die View für die Strecke braucht.

    Anschließend hab ich das ganze noch mit einem Instanzen Aktivierungs und Deaktivierungs Code weniger performancelastig gemacht und voilá, fertig war die Lösung.

    hab ich nicht nen schönen Mauszeiger?
    Bilder
    • agzzw.gif

      549,66 kB, 260×227, 173 mal angesehen

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Yivo ()