Übergänge

    Übergangseffekte gibt es seit dem GameMaker 8 nicht mehr so weit ich weiß.
    du müsstest dir selber etwas basteln, was je nach effekt nicht so einfach ist.
    Das leichteste wäre ein Rechteck über den ganzen room zu drawen mit alpha = 0;
    und in jedem step lässt du alpha +=0.001; dunkler werden oder so.
    wenn alpha=1 ist, wechselst du erst den room mit room_goto();
    im neuen room musst du dass dann genau anders rum machen. also wieder ein Rechteck drawen mit einem alphawert von 1 und lässt dann in jedem step alpha-=0.001 ausführen.


    ein step ist der vorgang, wenn der gamemaker einmal deinen ganzen code durchgeht,
    wenn dein spiel also auf 30fps läuft (genauer gesagt dein room_speed=30 ist) dann geht der gamemaker jede sekunde 30 mal durch deinen code.
    wenn der room_speed=60 ist macht der gamemaker das 60 mal in der sekunde.
    jedes einzelne mal ist ein step.

    ich habe jetzt gäste und kann dir keinen code dafür schreiben, ich mach das morgen lg


    Eine ganz einfache Blendfunktion kannst du wie folgt machen:

    step event vom player

    Quellcode

    1. if(place_meeting(x,y,obj_tuer)) and (keyboard_check_pressed(vk_up)){//wenn der spieler die Tür berührt und dann nach oben drückt soll er das obj_uebergang erstellen
    2. instance_create(x,y,obj_uebergang);//hier wird ein neues objekt an der position deines spielers erstellt(wo genau es ist ist egal)
    3. }


    obj_uebergang:
    create-event:

    Quellcode

    1. alpha=0;//die sichtbarkeit ist zu beginn =0
    2. alarm_0_trigger=0;//sorgt dafür das das alarm[0]-event nur einmal ausgefürht wird.

    draw-event

    Quellcode

    1. draw_set_colour(c_black);//farbe des rechteckes -schwarz
    2. draw_rectangle(0,0,room_width,room_height,false);//linke obere ecke des rechteckes bis rechte untere ecke
    3. if(alarm_0_trigger=0){//hier wird der alarm 0 iniziert
    4. alarm_0_trigger=1;//stellt sicher, dass er nur einmal ausgeführt wird
    5. alarm[0]=room_speed*0.01;//fade time die verstreicht bis er ausgeführt wird
    6. }
    7. if(alpha=1){//wenn das rechteck völlig schwarz ist soll er den room wechseln
    8. room_goto(dein_room);


    alarm[0] event:

    Quellcode

    1. alarm_0_trigger=0;
    2. alpha+=0.1;//sichtbarkeit des rechteckes um 0,1 erhöhen


    wenn dein spieler jetzt im neuen raum ist, musst du den ganzen prozess hier in umgekerter reihenfolge durchführen.
    also wenn dein spieler im neuen raum ankommt muss das rechteck erst völlig schwarz sein und immer transparenter werden, bis es nicht mehr sichtbar ist. danach zerstörst du es.
    mit diesen informationen und ein bisschen eigeniniziative wirst du das dann schaffen.
    wenn dir ein event oder befehl unklar ist, dann lies in der hilfe nach was sich dahinter verbirgt.


    CinoComeback schrieb:

    Ich weiß nicht wie das rückwärts geht. Außerdem funktioniert es aus irgendeinem Grund nicht.

    Ich glaube du hast fundamentale GM:S/GML Wissenslücken und daraus folgend starke Verständnisprobleme, wenn funktionale Lösungsansätze gepostet werden.
    Es macht in deiner Position keinen Sinn, für bestimmte Probleme eine fertige Lösung und Code zu fordern, wenn das gepostete nicht selbst ohne jegliche Hilfe von Dritten angewendet werden kann.
    Mit fertigem Code zu einem spezifischen Problem wirst du die Logik dahinter niemals richtig verstehen, du solltest daher dringend die Sprache und Logik hinter der GML von grundauf erlernen.

    Auf YouTube, Udemy und im offiziellen YoYo Games Forum gibt es unzählige Tutorials für absolute Einsteiger, die bisher nicht oder kaum mit GML gearbeitet haben, dort solltest du dich unbedingt mal umsehen.
    Werde ich machen, habe ich auch gestern Abend schon, einfach nur für Einsteiger, ohne bestimmten Grund, nur zum Lernen, gemacht. Könntest du mir vielleicht ein deiner Meinung nach sehr gutes Tutorial für zwischen Einsteiger & Fortgeschrittenen empfehlen?
    Ich freue mich über Deine positive Selbsteinschätzung, aber ich sehe Dich eher als blutigen Anfänger.
    Da Dir noch nicht einmal klar ist, wofür Events(Ereignisse), im Einzelnen verwendet werden.
    Darauf fußt jedoch GM, nämlich dass Du den richtigen Codeblock, im richtigen Ereignis platzierst.
    Daher empfehle ich Dir grundlegende Anleitungen und auf Deutsch, da man sich mit der Muttersprache
    einfach leichter tut.
    Hier mal für den Einstieg:

    youtube.com/watch?v=3ld1Hp_B_i…6ho2S-i6Exj0DlFpP01Gyf4zZ

    und hier gehts dann weiter, mit der Oberfläche und den wichtigsten Befehlen:

    youtube.com/watch?v=-jDuXnQOtl…6ho0IvePXIhd3OOGcenM_WEAc

    Wenn Du diese Tutorials wirklich alle ansiehst und auch wirklich erarbeitest, dann solltest Du Dir alle
    Deine bisher gestellten Fragen, selbst beantworten können ;)

    Miradur