Het ontwerpen van spellen met Game Maker
Sprites
De volgende functies zijn beschikbaar voor het veranderen van de eigenschappen van een sprite:
sprite_set_offset(ind, xoff, yoff) Stelt de offset van het sprite met de gegeven index in.
sprite_set_bbox_mode(ind, mode) Stelt de bounding box mode van het sprite in. (0=automatisch, 1=volledige afbeelding, 2=manual).
sprite_set_bbox(ind, left, top, right, bottom) Stelt de bounding box van het sprite met de gegeven index in. Werkt alleen als de bounding box mode is ingesteld op manual.
sprite_set_precise(ind, mode) Stelt in of het sprite met de gegeven index precise collision checking gebruikt (true of false).
De volgende functies kunnen worden gebruikt om sprites te creëren en te verwijderen.
sprite_duplicate(ind) Creëert een duplicaat van het sprite met de gegeven index. De functie resulteert in de index van het nieuwe sprite. Het resultaat is -1 als er een fout is.
sprite_assign(ind, spr) Kopieert het sprite met de gegeven index naar sprite spr. Dus dit maakt een kopie van het sprite. Op deze manier kun je makkelijk een sprite op een andere over zetten.
sprite_merge(ind1, ind2) Voegt de images van sprite ind2 samen in sprite ind1, voegt ze toe aan het eind. Als de formaten niet overeenkomen dan worden de images uit gerekt tot het past (stretched to fit). Sprite ind2 wordt niet verwijdert!
sprite_add(fname, imgnumb, precise, transparent, smooth, preload, xorig, yorig) Voegt de afbeelding opgeslagen in het bestand fname toe aan de sprite resources. Alleen bmp, jpg and gif afbeeldingen kunnen worden toegevoegd. Als de afbeelding een bmp of jpg is dan kan het een strip zijn met een aantal subimages voor het sprite. Gebruik imgnumb om aan te geven hoeveel sub images gebruikt worden(1 voor een enkele afbeelding). Voor (geanimeerde) gif afbeeldingen wordt dit argument niet gebruikt de afbeeldingen in de gif worden gebruikt als sub images. precise geeft aan of precise collision checking gebruikt moet worden. transparent geeft aan of het sprite deels transparant moet zijn. smooth geeft aan of de randen verzacht moeten worden. preload geeft aan of het sprite van tevoren geladen moet worden in het texture geheugen. xorig en yorig geven de positie van de oorsprong van het sprite. De functie resulteert in de index van het nieuwe sprite dat je dan kunt gebruiken om het sprite te tekenen of te verbinden aan een instantie met sprite_index. Het resultaat is -1 als er een fout is.
sprite_replace(ind, fname, imgnumb, precise, transparent, smooth, preload, xorig, yorig) Hetzelfde als bovenstaande alleen wordt in dit geval de sprite met index ind vervangen. Het resultaat van de functie is true wanneer de functie succesvol is uitgevoerd.
sprite_create_from_screen(x, y, w, h, precise, transparent, smooth, preload, xorig, yorig) Creëert een sprite door een deel van het venster te kopiëren. Dat maakt het mogelijk om alle sprites te maken die je wilt. Teken de afbeelding op het scherm met de draw functies en maak dan een sprite daarvan. (Als je dit niet in de draw event doet kun je het zelfs op zo'n manier doen dat het niet zichtbaar is op het scherm.) De overige parameters zijn zoals boven beschreven. De functie resulteert in de index van de nieuw gemaakte sprite. Een waarschuwing is hier op zijn plaats. Ook al spreken we over het scherm, het is eigenlijk het 'tekengebied' (drawing region) dat wordt gebruikt om te kopiëren. Het feit dat er een venster is op het scherm en dat de afbeelding vergroot kan zijn in het venster maakt niet uit.
sprite_add_from_screen(ind, x, y, w, h) Voegt een deel van het venster toe als subimage van het de sprite met index ind.
sprite_create_from_surface(id, x, y, w, h, precise, transparent, smooth, preload, xorig, yorig) Creëert een sprite door een deel van de surface met index id te kopiëren. Dat maakt het mogelijk om alle sprites te maken die je wilt. Teken de afbeelding op de surface met de draw functies en maak dan een sprite daarvan. De functie resulteert in de index van de nieuw gemaakte sprite. Merk op dat de alpha waarde behouden blijven in de sprite.
sprite_add_from_surface(ind, id, x, y, w, h) Voegt een deel van de surface id toe als subimage van sprite met de index ind.
sprite_delete(ind) Wist de sprite uit het geheugen.
De volgende functies zijn beschikbaar om de weergave van een sprite te veranderen.
sprite_set_alpha_from_sprite(ind, spr) Verandert de alpha (transparantie) waarden in de sprite met index ind door gebruik te maken van de hue waarden in de sprite spr. Dit kan niet ongedaan worden gemaakt.
« Resources veranderen | Geluiden »