Jeroen van der Gun

Game Maker-tutorial:
Screenshots aanpassen

Door de volgende drie scripts te gebruiken kunt u screenshots maken en deze aanpassen voordat u ze opslaat in een bestand. De eerste twee scripts beginnen de productie van een screenshot, het laatste script voltooit deze productie. Tussen de uitvoering van het beginscript en het eindscript wordt alles wat u tekent op het screenshot getekend.

Om te beginnen zijn dit de scripts:

// Scriptnaam: screen_save_begin
var width, height, background;
width = window_get_width();
height = window_get_height();
global.__screenshotid = surface_create(width, height);
surface_set_target(global.__screenshotid);
background = background_create_from_screen(0, 0, width, height,
                                           false, false, true);
draw_background(background, 0, 0);
background_delete(background);
// Scriptnaam: screen_save_begin_part
var background;
global.__screenshotid = surface_create(argument0, argument1);
surface_set_target(global.__screenshotid);
background = background_create_from_screen(argument0, argument1, argument2, argument3,
                                           false, false, true);
draw_background(background, 0, 0);
background_delete(background);
// Scriptnaam: screen_save_end
surface_save(global.__screenshotid, argument0);
surface_free(global.__screenshotid);
surface_reset_target();

Het script screen_save_begin heeft geen argumenten. Het script screen_save_begin_part is een alternatief voor screen_save_begin en maakt het screenshot alleen van een bepaald gedeelte van het scherm, en heeft derhalve als argumenten achtereenvolgens de x- en y-coördinaat van de linkerbovenhoek en de breedte en hoogte van het gedeelte van het scherm waarvan het screenshot moet worden gemaakt. Het script screen_save_end heeft één argument, namelijk de bestandsnaam (eventueel inclusief pad) waaronder het screenshot moet worden opgeslagen (als bitmapbestand).

In feite hebben we het hier over een eenvoudige toepassing van surfaces. Omdat het scherm niet rechtstreeks naar de surface kan worden gekopiëerd, wordt van het scherm eerst een tijdelijke background gemaakt die vervolgens op de surface wordt getekend.

Hieronder een voorbeeld van hoe u deze scripts kunt gebruiken:

screen_save_begin();
draw_text(10, 10, "Screenshot © 2008 maker van het spel");
screen_save_end("screenshot.bmp");

Merk op dat deze scripts geen beveiliging zijn: er kunnen nog steeds onaangepaste screenshots worden gemaakt. Deze tutorial is vooral bedoeld als voorbeeld van wat u met surfaces kunt doen.

Einde van deze tutorial

Opmerkingen en vragen over deze tutorial kunnen worden geplaatst in het gastenboek. Gelieve daarbij duidelijk te vermelden om welke tutorial het gaat. Ik heb nog meer tutorials over andere aspecten van Game Maker geschreven:

Er is ook een introductie tot Game Maker op deze website beschikbaar, evenals informatie over de verschillende Game Maker-cursussen waaraan ik heb meegewerkt.

« Ga terug naar de beginpagina
Copyright © 2005–2010 Jeroen van der Gun, alle rechten voorbehouden.
Lees mijn disclaimer en privacyverklaring.
Alle pagina’s van deze site zijn printvriendelijk.
W3C: XHTML 1.0 W3C: CSS level 2 W3C: WAI-AAA WCAG 1.0
Wat betekenen deze pictogrammen?
Verdwaald? Bekijk de sitemap.