Bildschirm Fade-out

  • Bildschirm Fade-out

    Hi!

    Ich will am Ende eines Levels, dass die Figur stehen bleibt (das weiß ich wie mans macht :) ) und dann der Bildschirm langsam ins Schwarze überblendet - wie mache ich das?Also natürlich ohne dass ich ein Riesensprite verwende, das den View abdeckt und dieses dann immer undurchsichtiger werden lasse!

    JA, ich habe die Such Funktion benutzt, aber man findet dazu nur nen geschlossenen Thread der sich auf Funktionen bezieht dies nicht mehr gibt und in Windapples "Raus mit dem Alten, rein mit dem Neuen" steht dazu er weis es im Moment nicht wie das mit den neuen Funktionen möglich ist.

    Weiß einer da drausen wie das geht?
  • wenn du über eine regestierte version verfügst, kannst du den befehl draw_set_alpha() verwenden. als wert für den befehl gibts du dann eine langsam ansteigende Variable an (mit alarm oder im step event) an.
    wenn du das vor einen befehl wie diesen schreibst,

    Quellcode

    1. draw_rectangle(view_xview[0],view_yview[0],view_xview[0]+view_wview[0],view_yview[0]+view_hview[0]);

    sollte eine transparents quadrat langsam immer schawärzer werden.
    das kann aber etwas an der engine ziehen!
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x

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

  • ich hab da jetz mal den code aus meinem spiel entnommen, is n script, aber eher für menüs etc gedacht da des spiel nich weiterläuft während der Bildschirm schwarz wird. Ausserdem isses auf 640x480 ausgelegt, musste halt ändern wenn du ne andre auflösung benutzt ^^ des erste argument gibt an in wievielen frames es schwarz werden soll, das zweite gibt an ob es nach schwarz faden, oder von schwarz zum normalen faden soll.

    PHP-Quellcode

    1. // argument0 = zeit in frames
    2. // argument1 = true/false (true: von normal zu schwarz, false = von schwarz zu normal
    3. temp = sprite_create_from_screen(0,0,640,480,false,false,false,false,0,0)
    4. for (i = 0; i < argument0; i += 1)
    5. {
    6. draw_sprite(temp,0,0,0);
    7. draw_set_color(c_black);
    8. if (argument1 = true)
    9. draw_set_alpha(i/argument0);
    10. else
    11. draw_set_alpha(1-i/argument0);
    12. draw_rectangle(0,0,640,480,false);
    13. screen_refresh();
    14. sleep(1000/room_speed);
    15. }
    16. draw_sprite(temp,0,0,0);
    17. sprite_delete(temp);
    Alles anzeigen
  • hehe, auch nicht schlecht!
    läuft das gut ab? ich nutze das immer nur als screenshot funktion und dann gibt nen kurzen hänger.
    übrigens kannst du doch einfach bei
    temp = sprite_create_from_screen(0,0,640,480,false,false,false,false,0,0);
    die 640 und 480 durch die view_wview[o] oder window_get_width() und das entsprechnede gegenstück erstzen. dann errechnet sich das von allein. und was von allein läuft ist gut sagt der pumuckel!
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Original von WIN
    hehe, auch nicht schlecht!
    läuft das gut ab? ich nutze das immer nur als screenshot funktion und dann gibt nen kurzen hänger.
    übrigens kannst du doch einfach bei
    temp = sprite_create_from_screen(0,0,640,480,false,false,false,false,0,0);
    die 640 und 480 durch die view_wview[o] oder window_get_width() und das entsprechnede gegenstück erstzen. dann errechnet sich das von allein. und was von allein läuft ist gut sagt der pumuckel!
    Also bei mir gibts da keine Hänger. Wie gesagt ich hab das nur aus meinem Spiel entnommen und da brauchte ich das eben nich anders, keine Lust gehabt das vorm posten noch abzuändern :D
  • Benutzer online 1

    1 Besucher