GM 8.1: Problem mit Haupt und Einstellungen Menü Ingame

    GM 8.1: Problem mit Haupt und Einstellungen Menü Ingame

    Wunderschönen guten Abend,

    Ich bin Super froh das es diese Deutsche Forum gibt, dachte erst es gibt keines habe dieses hier übersehen.

    So ich hoffe ich bin richtig hier, nun zu meinem Problem.

    Aaaaaaaalso, ich habe mein erstes Spiel fertiggestellt, mit Hauptmenü und Einstellungen Menü.

    Und hier tretet das Problem auf das mir den Release verhindert :)

    Ich habe die beiden Räume auf 1920x1080 erstellt, wenn ich jetzt nun die Auflösung meines Monitors zb auf 1280x720 runterstelle dann habe ich das problem, das ich ihm Hauptmenü und im Einstellungen Menü mit dem Mauskursor den ich ebenfalls erstellt habe , nicht mehr zum unteren linken ,mittleren und rechten teil des Spielbildschirms komme, im Einstellungen Menü das gleiche und dort wird das Problem schlimm, denn weit unten ist der zurück Button, und da komme ich nicht hin ich sehe alles aber soweit geht die Maus nicht. Unter 1920x1080 ist alles normal da geht alles, aber nicht jeder hat 1920x1080.


    Ich habe schon alles mögliche worauf ich als kompletter Anfänger so kommen konnte, versucht.
    Nun habe ich keine kraft mehr und daher bitte ich euch um Hilfe.

    Was kann ich da nun machen.

    vielen dank schon mal.
    Du musst sowas im GUI event machen dann kannst du sagen male an xx = display_get_gui_width()*.5 also in der Mitte. Damit die Relationen gleich bleiben bei unterschiedlichen Auflösungen. Wenn du mit Objekten arbeiten willst dann musst du deren Positionen und Größen auf die selbe Weise festlegen aber das ist umständlicher da es nicht wie beim GUI automatisch skaliert wird.

    Also anstatt zu sagen male an 300, 220 sagst du dann quasi male an der unteren rechten ecke display_get_gui_width()*.95, display_get_gui_height()*.95
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    Hallo

    Ich habe damals beim GM8,1 mit Platzhalter Objekten, die ich im Room Editor platziert habe, auf deren Koordinaten ich dann die Buttons gedrawt habe gearbeitet.
    Ist sicherlich keine schöne bzw. gibt es sicher elegantere Lösungen, hat aber funktioniert.
    lg Vectorhead

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vectorhead“ ()

    Hat sich erledigt, habe mir mal die professional installiert, bzw so hies es die master version und da ist es von allein alles richtig. aber eines verstehe ich da jetzt nicht jetzt hänge ich wo anders.

    warum gibt es da plötzlich die transition funktion nicht mehr, also wenn man diferent room wählt dann konnte man einmal den raum einstellen zu dem gegangen wird und darunter den übergangseffekt, also bei game maker 8.1 ist das so, bei dem was ich jetzt habe, ist das garnicht mehr da, wie mache ich das den da?
    Die Transitions wurden abgeschafft da sie nicht auf allen Plattformen funktionierten. Man kann in Studio Module erwärben um zB für html5 oder android zu exportieren. Aber es ist eigentlich ganz simpel einen eigenen Übergang zu erstellen.
    Du erstellst ein Objekt obj_transition.
    Im Create-Event erstellst du folgende Variablen:

    GML-Quellcode

    1. //CreateEvent:
    2. tr_destination = noone; //initialisiere die Variable welche den Ziel-Raum halten soll
    3. tr_counter = 0; //Zähler für die Animation
    4. tr_color = c_black; //Farbe des Übergangs
    5. tr_seconds = 3; //ZB 3 Sekunden
    6. tr_increment = (1/room_speed)/tr_seconds; //Errechne den Wert der addiert werden soll um
    7. //in tr_seconds den Wert 1 zu erreichen

    Im Step event passiert folgendes:

    GML-Quellcode

    1. tr_counter += tr_increment;
    2. if (tr_counter > 1) { //Zerstöre das Objekt und gehe zum Zielraum
    3. instance_destroy();
    4. room_goto(tr_destination);
    5. }

    und schließlich das Draw-GUI-Event:

    GML-Quellcode

    1. //Setze Farbe und Transparenz
    2. draw_set_color(tr_color);
    3. draw_set_alpha(tr_counter);
    4. //Male Rechteck über den Bildschirm
    5. draw_rectangle(0, 0, display_get_gui_width(), display_get_gui_height(), false);
    6. //reset
    7. draw_set_alpha(1);
    8. draw_set_color(c_white);

    Dieses Objekt erstellst du im Spiel sobald du den Raum wechseln willst, zB wenn der Spieler mit einer Tür kollidiert.
    Damit du für alle Räume das selbe Objekt benutzen kannst machst du folgendes:

    GML-Quellcode

    1. if (!instance_exists(obj_transition)
    2. with (instance_create(0,0,obj_transition)) {
    3. tr_seconds = 3; //etc...
    4. tr_color = c_white; //...
    5. tr_destination = room_house; //etc..
    6. }

    Wenn du das am laufen hast sollte es ein leichtes Sein ein zweites Objekt zu erstellen was andersrum Funktioniert, also Beim Betreten eines Raumes erstellt wird( zB vom vorherigen transition Effekt oder du machst ihn persistant und intigrierst beides in Einem Objekt) welches dann von dunkel etc wieder transparent wird und sich dann zerstört.

    In deinem Spieler könntest du auch wenn gewünscht eine Abfrage integrieren das er sich nicht bewegt solange der Raumübergang stattfindet:

    GML-Quellcode

    1. if (!instance_exists(obj_transition)) {
    2. //Dein movement code
    3. }

    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rhazul“ ()

    if (!instance_exists(obj_transition)
    with (instance_create(0,0,obj_transition)) { <<<<<<<< ich bekomme hier ein error
    tr_seconds = 3; //etc...
    tr_color = c_white; //...
    tr_destination = room_house; //etc..
    }



    An der besagt stelle leuchtet es rot auf , ist da vielleicht was verkehrt oder so, oder kommt es daher weil ich den code vielleicht nicht dahin tue wo er hin muss.
    hast du obj_transition denn schon programmiert? Den Code da nimmst du ja um den Effekt zu starten
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    OOps ich sehs grade hab ne klammer vergessen in der Zeile darüber^^

    GML-Quellcode

    1. if (!instance_exists(obj_transition)) //hier hat ein ) gefehlt
    2. with (instance_create(0,0,obj_transition)) {
    3. tr_seconds = 3; //etc...
    4. tr_color = c_white; //...
    5. tr_destination = room_house; //etc..
    6. }
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    ok erkläre einem dummen Anfänger bitte wo ich den Code hin tun muss ich komme nicht dahinter. :)

    Also wenn ich den Code wo einsetzte und dann den Test zb starten will, dann bekomme ich Compiler error Meldungen drei Stück da wo ich es eingefügt habe und es heist unknow function

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ClubStorm“ ()

    An Stelle von room_goto benutzt du

    GML-Quellcode

    1. if (!instance_exists(obj_transition))
    2. with (instance_create(0,0,obj_transition)) {
    3. tr_seconds = 3;
    4. tr_color = c_white;
    5. tr_destination = room_house;
    6. }

    Also zB im Hauptmenü beim "spiel starten" Knopf etc. oder wenn dein Spieler mit einer Tür kollidiert.

    Der Code nochmal erklärt:
    wir überprüfen ob es schon ein obj_transition gibt, wenn nicht erstellen wir ein obj_transition, durch das with können wir in dem objekt code ausführen. zB with (obj_bla) würde dafür sorgen das der code in jeder Instanz von obj_bla ausgeführt wird. Aber wenn wir eine eindeutige ID, die instance_id angeben, wird es nur in dieser Instanz ausgeführt. Da instance_create die ID des erstellten Objekts zurückgibt können wir mit obigem Code direkt darauf zugreifen. Alles innerhalb der klammern gilt dann innerhalb des anderen Objekts. Somit können wir diesem Eigenschaften zuweisen, in dem Fall überschreiben wir die Dauer, die Farbe und am wichtigsten die Destination, also der Zielraum. Hoffe du verstehst es jetzt ein wenig besser.

    EDIT :

    Ich seh grade du musst wahrscheinlich draw_set_colour durch draw_set_color ersetzen früher gingen glaub ich beide schreibweisen.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Rhazul“ ()

    Compile errors:

    Object: zur_ck_button2 Event: Left Down at line 2 : unknown function or script instance_create
    Object: spstart Event: Left Down at line 2 : unknown function or script instance_create
    Object: optmenu1 Event: Left Down at line 2 : unknown function or script instance_create
    Object: zur_ckraum1 Key Event: Key Down - Enter at line 2 : unknown function or script instance_create
    Object: ingamezur_ckraum1 Key Event: Key Down - Escape at line 2 : unknown function or script instance_create


    soo sorry das erst so spät eine antwort kommt, habe noch einen house track so eben produziert.
    Thema ist zwar schon als erledigt markiert, aber solltest du den instance_create Error noch haben, dann vermute ich mal, dass du GM2 verwendest. Hier heißt es nämlich instance_create_layer bzw. instance_create_depth
    Jo das wird es sein. Arbeite nicht mit 2 daher hatte ich das nicht aufm Schirm.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    ja nutze game maker studio 2

    Negative "instance_create_layer" nimmt er gar nicht an, da bekomme ich direkt einen error

    Error-Meldung: number of arguments expectet 4 got 3

    in diesem code habe ich es eigefügt

    if (!instance_exists(obj_transition))
    with (instance_create_layer(0,0, obj_transition)){ <<<<<<<<<<<< hier eingefügt und instance_create damit ersetzt.
    tr_seconds = 3; //etc...
    tr_color = c_white; //...
    tr_destination = room0;
    }






    warscheinlich wieder vollkommen falsch oder die falsche stelle.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ClubStorm“ ()

    Sollte wohl instance_create_layer(0,0,"instance_layer",obj_transition) sein
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: