Jeroen van der Gun

Game Maker-tutorial:
Lettertypebereik

Als in Game Maker een nieuwe font resource wordt gecreëerd, verschijnt er een opmerkelijk invoerveld op het scherm: de character range moet worden aangegeven. Voordat dat kan worden uitgelegd, moet u eerst iets weten over hoe teksten op computers worden opgeslagen.

In deze tutorial

  1. Het principe
  2. Praktische betekenis in Game Maker

Klik hierboven op een kop om naar het bijbehorende tekstgedeelte te springen.

1. Het principe

Computers slaan teksten karakter voor karakter op. Een karakter kan daarbij een letter, een spatie, een leesteken, een cijfer of een ander symbool zijn.

Nu is het algemeen bekend dat computers alles met nullen en enen doen, en dat geldt natuurlijk ook voor het opslaan van teksten. Daarom is lang geleden bedacht dat elk karakter een bepaalde reeks van nullen en enen krijgt toegewezen: door zulke reeksen dan achter elkaar te plaatsen, verschijnen in de tekst de bijbehorende karakters achter elkaar.

Dan resteert ons nog een probleem: hoe weten we welke permutatie van nullen en enen bij welk karakter hoort? Hiervoor zijn verschillende omzettingstabellen beschikbaar, die meestal charsets (karaktersets), of codepages (coderingen) worden genoemd. Er bestaan enorm veel verschillende karaktersets. De karakterset ISO-8859-1, beter bekend als Latin1, wordt algemeen gebruikt in West-Europa en vele internetpagina's worden in die codering aangeleverd. Voeg daar nog wat karakters zoals het euroteken aan toe en u hebt Windows-1252. Dit is de karakterset die door Game Maker wordt gebruikt.

2. Praktische betekenis in Game Maker

In Game Maker moeten dus Windows-1252-codeposities worden gebruikt om het bereik van een lettertype op te geven. Windows-1252 is een 8-bitskarakterset, dus de codeposities lopen van 0 t/m 255. Meestal is echter niet alles nodig en kan de bestandsgrootte van het spel beperkt worden door de karakters van ongebruikte codeposities niet in het spel op te nemen. Hiervoor moeten de benodigde codeposities dus worden opgezocht in de codetabel. Als een in een tekst gebruikte codepositie buiten het gekozen bereik van het lettertype ligt, wordt een gat in de tekst weergegeven wanneer het spel die tekst probeert weer te geven op het scherm.

Op dit gebied zijn er ook twee GML-functies interessant: chr() en ord(). chr() heeft als argument een codepositie (0 t/m 255) en retourneert het bijbehorende karakter als een tekenreeks (van een enkel teken). ord() doet het omgedraaide: het bekijkt het (eerste) karakter in de als argument gegeven tekenreeks en retourneert de bijbehorende codepositie. In tegenstelling tot wat de handleiding zegt, werkt dit gewoon met het volledige Windows-1252 en niet alleen met ASCII, een andere karakterset die slechts de eerste helft van de Windows-1252-karakterset bevat.

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.