Skocz do zawartości

Screenshot


Rekomendowane odpowiedzi

nie zawsze to co bardzo proste jest lepsze :P

 

ostatnio znalazlem swoj stary skrypt do robienia Screenów, moze sie komus przyda:

[ nie daje calego pliku bo to tylko jedna funkcja ]

 

GML
//scScreenShoot( sciezka, tryb, name )

//skrypt tworzy screena i umieszcza go w okreslonej lokacji

// tryb:

//1 - png 2 - jgp

//3 - gif 4 - bmp

if ( argument[0] == "" )

{

//standardowa sciezka [ folder z grą ]

switch ( argument[1] )

{

case 1:

screen_save( working_directory+"/"+argument[2]+".png" );

break;

case 2:

screen_save( working_directory+"/"+argument[2]+".jpg" );

break;

case 3:

screen_save( working_directory+"/"+argument[2]+".gif" );

break;

case 4:

screen_save( working_directory+"/"+argument[2]+".bmp" );

break;

}

}

else

{

if ( directory_exists( argument[0] ) )

{

switch ( argument[1] )

{

case 1:

screen_save( working_directory+"/"+argument[0]+"/"+argument[2]+".png" );

break;

case 2:

screen_save( working_directory+"/"+argument[0]+"/"+argument[2]+".jpg" );

break;

case 3:

screen_save( working_directory+"/"+argument[0]+"/"+argument[2]+".gif" );

break;

case 4:

screen_save( working_directory+"/"+argument[0]+"/"+argument[2]+".bmp" );

break;

}

}

}

 

Uzycie:

GML
scScreenShoot( '', 1, 'a' );

scScreenShoot( 'asd', 4, 'b' );

 

troche wiecej kodu, ale troche wiecej opcji

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Tyle, że GM zapisuje tylko do BMP i PNG...

 

EDIT:

 

GML
//scScreenShoot( sciezka, tryb, name )

//skrypt tworzy screena i umieszcza go w okreslonej lokacji

// tryb:

//1 - png 2 - jgp

//3 - gif 4 - bmp

var _ext;

_ext[0] = ".png";

_ext[1] = ".bmp";

 

argument[1] = max(0, min( argument[0], 1));

 

if ( argument[0] == "" ) {

screen_save( argument[2]+_ext[ argument[1] ] );

} else if ( directory_exists( argument[0] ) ) {

screen_save( argument[0]+"/"+argument[2]+_ext[ argument[1] ] );

}

 

working_directory zbedne, bo directory_exists przeciez go nie wymagało, a działa, prawda ? ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę ulepszony skrypt:

GML
//scScreenShoot( name, tryb, sciezka )

//skrypt tworzy screena i umieszcza go w okreslonej lokacji, jeśli plik istnieje automatycznie uzupełnia nazwę o kolejne cyfry

//argument 2 jest opcjonalny

//jesli sciezka nie istnieje screen tworzy w folderze z gra

// tryb:

//0 - png 1 - bmp

var _i, _dir, _ext;

_i = 1;

_ext[0] = ".png";

_ext[1] = ".bmp";

 

argument[1] = max(0, min( argument[1], 1));

 

if is_string(argument[2])

{

if !directory_exists(argument[2]) _dir = working_directory; else _dir = argument[2];

}else

{

_dir = working_directory;

}

 

if file_exists(_dir + "/" + argument[0] + _ext[argument[1]])

{

while(file_exists(_dir + "/" + argument[0] + string(_i) + _ext[argument[1]]))

{

_i += 1;

}

screen_save(_dir + "/" + argument[0] + string(_i) + _ext[argument[1]]);

}else

{

screen_save(_dir + "/" + argument[0] + _ext[argument[1]]);

}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...