Home | Aanpassen | Blog | Extra's | Log In | Info
Handleiding | D&D iconen | GML Parser | Archief | Iso City
Gebruikersnaam: Wachtwoord:  
Over ons | Features | Directory | Banners | Contact

Het ontwerpen van spellen met Game Maker
Het ontwerpen van spellen met Game Maker

Sprites en plaatjes

Elk object heeft een eigen sprite. Dit is of een gewoon plaatje of het bevat meerdere plaatjes. Voor elke instantie tekent het programma het plaatje op het scherm, met zijn oorsprong(zoals gedefinieerd in de Sprite eigenschappen) op positie(x,y) van de instantie. Wanneer er meerdere plaatjes zijn, speelt hij alle plaatjes achter elkaar af met als gevolg een animatie. Er zijn een paar functies die invloed hebben op de manier hoe het plaatje is getekend. Deze kunnen gebruikt worden om het effect te veranderen. Iedere instantie heeft de volgende variabelen:

visible Wanneer het plaatje zichtbaar is(1) wordt het plaatje getekend, anders niet. Onzichtbare instanties zijn nog wel actief en kunnen colision gebeurtenissen creëren; Je kan ze alleen niet zien. Het op onzichtbaar zetten is handig om controller objecten te maken(maar ze niet solid om collision gebeurtenissen te voorkomen) of verborgen schakelaars.
sprite_index Dit is de index van de geselecteerde instantie. Je kan het veranderen om de instantie een andere sprite te geven. Je kan de namen van de verschillende sprite gebruiken als waarden. Veranderen van de sprite veranderd niks aan de geselecteerde sub-sprite.
sprite_width* Bepaald de breedte van een sprite. Deze waarde kan niet worden veranderd maar je zult het misschien nodig hebben.
sprite_height* Bepaald de hoogte van een sprite. Deze waarde kan niet worden veranderd maar je zult het misschien nodig hebben.
sprite_xoffset* Bepaald de horizontale compensatie van de sprite als gedefinieerd in de sprite eigenschappen. Deze waarde kan niet worden aangepast maar je zult het misschien nodig hebben.
sprite_yoffset* Bepaald de verticale compensatie van de sprite als gedefinieerd in de sprite eigenschappen. Deze waarde kan niet worden aangepast maar je zult het misschien nodig hebben.
image_number* De hoeveelheid van de subafbeeldingen voor de instantie(kan niet worden veranderd).
image_index wanneer de sprite meerdere subafbeeldingen heeft loopt het programma daardoorheen. Deze variabele verwijst naar de geselecteerde subafbeelding(ze zijn genummerd vanaf 0). Je kan het geselecteerde plaatje veranderen door de variabele aan te passen. Het programma zal gewoon doorgaan met afspelen, startend van zijn nieuwe index.(De waarde kan een gedeelte hebben. In dit geval wordt het altijd afgerond om de subafbeelding te verkrijgen dat wordt getekend.)
image_speed De snelheid waarmee wij door de subafbeeldingen lopen. Een waarde van 1 wijst erop dat we elke stap het volgende plaatje krijgen. De kleinere waarden zullen langzamere subafbeeldingen maken, door iedere subafbeelding vaker te tekenen. De grotere waarden zullen subafbeeldingen overslaan om de beweging sneller te maken. Soms wil je misschien een subafbeelding laten zien en niet het programma erdoorheen te laten lopen. Daarvoor moet je de snelheid op 0 zetten en de goede subafbeelding selecteren. Bijvoorbeeld, veronderstel je hebt een voorwerp dat kan draaien en uw Sprite creëert die subafbeeldingen voor een aantal richtlijnen(linksdraaiend) heeft. Dan kan je in de Step gebeurtenis dit neerzetten:
{
  image_index = direction * image_number/360;
  image_speed = 0;
}
depth Normaal zijn de plaatjes getekend in de regel van de gecreëerde objecten. Je kunt dit veranderen door de beelddiepte te plaatsen. De standaardwaarde is 0, tenzij je het met een verschillende waarde in de object eigenschappen plaatst. Hoe hoger de waarde is hoe verder de instantie. (Je kunt negatieve waarden ook gebruiken). De instanties met hogere diepte zullen achter instanties met een lagere diepte liggen. Het plaatsen van de diepte zal garanderen dat de instanties worden getekend zoals je wilt (bijv. het vliegtuig voor de wolk). De achtergrond instanties zouden een hoge(positieve) diepte moeten hebben, en de voorgrondinstanties zouden een lage(negatieve) diepte moeten hebben.
image_xscale Een schaalfactor om grotere of kleinere beelden te maken. Een waarde van 1 wijst op de normale grootte. Je moet horizontale xscale en verticale yscale afzonderlijk plaatsen. Het veranderen van de schaal ruilt ook de waarden voor de beeldbreedte en hoogte en beïnvloedt botsingsgebeurtenissen aangezien je zou kunnen verwachten. Het veranderen van de schaal kan worden gebruikt om een 3-D effect te krijgen. Je kunt een waarde van -1 gebruiken om sprite horizontaal te weerspiegelen.
image_yscale Verticale yscale. 1 is geen schaal. Je kunt een waarde van -1 gebruiken om Sprite verticaal te weerspiegelen.
image_angle De hoek waarmee de Sprite wordt geroteerd. Je specificeert dit in graden, linksdraaiend. Een waarde van 0 wijst op geen omwenteling. Deze variabele kan alleen gebruikt worden in de geregistreerde versie!
image_alpha Van de transparantie(de alpha-) waarde gebruikt voor het trekken van het beeld. Een waarde van 1 is het normale ondoorzichtige plaatsen; een waarde van 0 is volledig transparant.
image_blend gemengde kleuren gebruikt voor het tekenen van sprites. Een waarde van c_white is normaliter gebruikt. Wanneer je een verschillende waarde specificeert wordt de afbeelding gemengd met deze kleur. Dit kan worden gebruikt om de Sprite te veranderen tijdens het spelen. Deze variabele kan alleen worden gebruikt in de geregistreerde versie!
bbox_left* Linker kant van de bounding box die van de afbeelding van de instantie gebruikt wordt. (Neemt schaal mee).
bbox_right* Rechter kant van de bounding box van de Sprite van de instantie.
bbox_top* Bovenkant van de bounding box van de Sprite van de instantie.
bbox_bottom* Onderkant van de bounding box van de Sprite van de instantie.

Zoeken Zoeken


Alternatieve versies Alternatieve versies

Je kan de handleiding ook lezen op een lange pagina (± 1.5 mb)

Ook beschikbaar in: Engels Frans Duits

ZIP Download helpfile

Advertentie Advertentie

GameMaker Handleiding