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

Bestanden

Het is handig om externe bestanden te gebruiken in spellen. Je kan bijvoorbeeld een bestand maken dat beschrijft wat er gaat gebeuren. Ook wil je misschien informatie opslaan voor de volgende keer dat het spel word gespeeld (bijvoorbeeld de huidige room). Met de volgende functies kun je data lezen en schrijven in tekstbestanden:

file_text_open_read(fname) Opent het bestand met de aangeduide naam om te lezen. De functie geeft de id van het bestand terug dat in de andere functies gebruikt moet worden. Je kan veelvoudige bestanden tegelijkertijd (max 32) openen. Vergeet ze niet te sluiten als je ze niet meer gebruikt.
file_text_open_write(fname) Opent het aangeduide bestand voor schrijven en creëert dat indien het niet bestaat. De functie geeft de id van het bestand terug dat in de andere functies gebruikt moet worden.
file_text_open_append(fname) Opent het aangeduide bestand voor het bijvoegen van gegevens aan het einde en creëert dat indien het niet bestaat. De functie geeft de id van het bestand terug dat in de andere functies gebruikt worden moet.
file_text_close(fileid) Sluit het bestand met het gegeven bestand id.
file_text_write_string(fileid, str) Schrijft de reeks naar het bestand met het gegeven bestand id.
file_text_write_real(fileid, x) Schrijf de echte waarde naar het bestand met het gegeven bestand id.
file_text_writeln(fileid) Schrijf een 'enter' (teken voor een nieuwe lijn) naar het bestand.
file_text_read_string(fileid) Leest een reeks van het bestand met het gegeven bestand id en geeft deze reeks terug. Een reeks einden aan het einde van lijn.
file_text_read_real(fileid) Leest een echte waarde van het bestand en keert deze waarde terug.
file_text_readln(fileid) Leest een 'enter' (teken voor een nieuwe lijn) uit het bestand.
file_text_eof(fileid) Geeft een waarde terug als het eind van het bestand is bereikt.

Om bestanden in het bestandssysteem te manipuleren kan de volgende functie gebruiken:

file_exists(fname) Geeft aan of het bestand bestaat (true) of niet bestaat (false).
file_delete(fname) Verwijderd het bestand met de gegeven naam.
file_rename(oldname, newname) Hernoemt het bestand met naam oldname in newname.
file_copy(fname, newname) Kopieert de bestand fname naar de newname.
directory_exists(dname) Geeft aan of de directory bestaat (true) of niet bestaat (false)
directory_create(dname) Creëert een directory met de gegeven naam (inclusief het pad naar het) indien het niet bestaat.
file_find_first(mask, attr) Geeft de naam van het eerste bestand terug dat met het id en de eigenschappen overeenkomt. Indien zo'n bestand niet bestaat, word de lege reeks teruggegeven. Het id kan een pad en wildcards bevatten, bijvoorbeeld van 'C:\temp\*.doc. De eigenschappen geven de bijkomende bestanden die je zien wilt. (Zo dat de normale bestanden altijd teruggekeerd worden wanneer zij met het id overeenkomen.) Je kunt de volgende constanten optellen om de soorten bestanden te zien die je wilt:
fa_readonly alleen-lezen bestanden
fa_hidden verborgen bestanden
fa_sysfile systeem bestanden
fa_volumeid volume-id bestanden
fa_directory directories
fa_archive archief bestanden
file_find_next() Geeft de naam van het volgende bestand terug dat met het eerder gegeven id en de eigenschappen overeenkomt. Indien dit bestand niet bestaat, wordt er een lege reeks teruggekeerd.
file_find_close() Moet na het behandelen van alle bestanden geroepen worden om geheugen vrij te maken.
file_attributes(fname, attr) Geeft terug of het bestand alle eigenschappen heeft, gegeven in attr. Gebruik een combinatie van de boven aangeduide constanten.

De volgende functies kunnen gebruikt worden bestandsnamen te veranderen. Merk op dat deze functies aan de bestanden zelf niets veranderen, zij veranderen enkel de tekenreeksen:

filename_name(fname) Geeft de bestandsnaam terug van het opgegeven bestand, met extensie, maar zonder pad.
filename_path(fname) Geeft de url terug van het opgegeven bestand, inclusief de laatste backslash.
filename_dir(fname) Geeft de directory van de opgegeven bestandsnaam terug, dat normaal hetzelfde is als het pad voor het uiteindelijke backslash teken.
filename_drive(fname) Geeft de stations informatie terug.
filename_ext(fname) Geeft de extensie van het bestand terug, inclusief de scheidingspunt.
filename_change_ext(fname, newext) Geeft de opgegeven bestandsnaam terug met de nieuwe extensie inclusief de scheidingspunt.

In zeldzame situaties is het nodig om data te lezen van binaire bestanden. De volgende functies zijn hiervoor beschikbaar:

file_bin_open(fname, mod) Opent een bestand met de opgegeven naam. De mode identificeert wat er gedaan kan worden met het bestand: 0 = lezen, 1 = schrijven, 2 = lezen en schrijven). De functie keert de id van het bestand terug dat gebruikt moet worden in andere functies. Je kan meerde bestanden tegelijk openen (max 32). Vergeet ze niet te sluiten als je ze niet meer gebruikt.
file_bin_rewrite(fileid) Herschrijft het bestand met de opgegeven fileid, wist de inhoud en begint met schrijven aan het begin.
file_bin_close(fileid) Sluit het bestand met de opgegeven fileid.
file_bin_size(fileid) Geeft de grootte van het bestand met het opgegeven fileid terug in bytes.
file_bin_position(fileid) Geeft de huidige positie terug (in bytes; 0 is de eerste positie) van het bestand met de opgegeven fileid.
file_bin_seek(fileid, pos) Verplaatst de huidige positie van het bestand naar de opgegeven plaats. Om een bestand bij te voegen dien je de positie te veranderen naar de grootte van het bestand.
file_bin_write_byte(fileid, byte) Schrijft een byte met data naar het bestand met het opgegeven fileid.
file_bin_read_byte(fileid) Leest een byte van het bestand met het opgegeven fileid.

Indien de speler veilige modus in zijn voorkeuren heeft staan, voor een aantal van deze routines, mag je geen pad specificeren en mogen er alleen bestanden in de toepassingsfolder geschreven worden.

De volgende alleen-lezen functies kunnen handig zijn:

game_id* De unieke vaststeller voor het spel. Je kunt dit gebruiken indien je een unieke bestandsnaam nodig hebt.
working_directory* De werkdirectory. (Zonder de laatste backslash.)
temp_directory* De tijdelijke directory die is aangemaakt voor het spel. Je kan hier tijdelijke bestanden plaatsen. Ze zullen worden verwijderd aan het einde van het spel.

In zekere situaties wil je spelers de mogelijkheid geven om commando lijn argumenten te gebruiken (om bijvoorbeeld cheats of speciale modes te creëren). De volgende functies kun je hiervoor gebruiken.

parameter_count() Geeft het aantal commando lijn parameters terug (begrijp dat de naam van het spel ook een van hen is.)
parameter_string(n) Geeft de commando lijn parameters n terug. De eerste parameter heeft de index 0. Dit is de naam van het spel.

Je kan de waardes van de omgeving van de variabelen met de volgende functie lezen:

environment_get_variable(name) Geeft de waarde (een reeks) van de omgeving variabele met de gegeven naam terug.

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