Het ontwerpen van spellen met Game Maker
Het venster
Het actieve spel speelt zich af in een venster. Dit venster heeft een aantal eigenschappen, zoals of het een rand heeft, of het in volledig schermmodus draait, enz. Normaal is dit ingesteld in de Spel Instellingen (Game Settings). Maar je kunt dit wijzigen tijdens het spel. De volgende functies bestaan hier voor:
window_set_visible(visible) Stelt in of het spel venster zichtbaar is. Normaal wil je het venster tijdens het hele spel zien. Het programma zal geen toetsenbord- gebeurtenissen ontvangen als het venster onzichtbaar is.
window_get_visible() Geeft terug of het spel venster zichtbaar is.
window_set_fullscreen(full) Stelt in of het venster in volledig schermmodus wordt getoond.
window_get_fullscreen() Geeft terug of het venster in volledig schermmodus wordt getoond.
window_set_showborder(show) Stelt in of de rand om het venster wordt getoond. (Wordt in volledig schermmodus nooit getoond.)
window_get_showborder() Geeft terug of de rand om het venster in venstermodus wordt getoond.
window_set_showicons(show) Stelt in of de rand knoppen (minimaliseren, maximaliseren, sluiten) worden getoond. (In volledig schermmodus worden deze nooit getoond.)
window_get_showicons() Geeft terug of de rand knoppen worden getoond in venstermodus.
window_set_stayontop(stay) Stelt in of het venster altijd op de voorgrond moet staan.
window_get_stayontop() Geeft terug of het venster altijd op de voorgrond staat.
window_set_sizeable(sizeable) Stelt in of het vensterformaat door de speler kan worden gewijzigd. (De speler kan het formaat alleen wijzigen in de venstermodus en als de venster rand wordt getoond.)
window_get_sizeable() Geeft terug of het vensterformaat wijzigbaar is voor de speler.
window_set_caption(caption) Stelt de titelregel (een tekenreeks) van het venster in. Normaal stel je dit in bij het definiëren van de kamer (room). Deze titel is te wijzigen met behulp van de variabele room_caption. Deze functie is normaal gesproken dus niet handig, behalve als je de kamer zelf tekent, in plaats van dit aan Game Maker over te laten. De titel is alleen zichtbaar als het venster niet in volledig schermmodus draait en de vensterrand zichtbaar is.
window_get_caption() Geeft de venster titel terug.
window_set_cursor(curs) Stelt de muis cursor in die binnen het venster wordt gebruikt. Je kunt de volgende constanten gebruiken:
cr_default
cr_none
cr_arrow
cr_cross
cr_beam
cr_size_nesw
cr_size_ns
cr_size_nwse
cr_size_we
cr_uparrow
cr_hourglass
cr_drag
cr_nodrop
cr_hsplit
cr_vsplit
cr_multidrag
cr_sqlwait
cr_no
cr_appstart
cr_help
cr_handpoint
cr_size_all
Als je de muis cursor wilt verbergen, gebruik dan cr_none als waarde.
window_get_cursor() Geeft de cursor die in het venster wordt gebruikt terug.
window_set_color(color) Stelt de kleur in van dat deel van het venster dat niet wordt gebruikt om de kamer te tonen.
window_get_color() Geeft de venster kleur terug.
window_set_region_scale(scale, adaptwindow) Als het venster groter is dan de huidige kamer wordt de kamer normaal gesproken getoond in een vierkant gecentreerd in het venster. Het is ook mogelijk om het te laten verschalen en zo het hele venster te vullen. Een waarde van 1 betekend geen verschaling. Bij een waarde van 0 zal de vierkant zo worden geschaald dat het het hele venster vult. Als je de waarde negatief zet zal het worden opgeschaald zodat het zo groot mogelijk in het venster past maar toch de lengte/breedte verhouding van het vierkant hetzelfde blijft. (Wat je normaal gesproken wilt.) adaptwindow geeft aan of het vensterformaat moet worden gewijzigd als de geschaalde kamer er niet in past. Het wijzigen van het vensterformaat is alleen effectief als de schaalfactor positief is.
window_get_region_scale() Geeft de schaal van het getekende gebied terug.
Het venster heeft een positie op het scherm en een formaat. (Als we praten over positie en formaat bedoelen we altijd het gedeelte van het venster zonder de randen.) Je kunt deze waarden wijzigen hoewel je dit hoegenaamd altijd met je spel doet. Normaal gesproken worden ze automatisch vastgesteld of door de speler. De volgende functies kunnen worden gebruikt om de venster positie en het formaat te wijzigen. Onthoud dat deze functies een verband hebben met de venstermodus. Als het venster in volledig schermmodus draait kunnen de waarden wel worden gewijzigd, maar zullen ze pas effect hebben als de volledig schermmodus wordt uitgeschakeld.
window_set_position(x, y) Stelt de positie van het venster in op de aangegeven positie.
window_set_size(w, h) Stelt het formaat van het venster in op de aangegeven grootte. Merk op dat als de aangegeven grootte te klein is om het tekengebied te kunnen bevatten, het (automatisch) groot genoeg wordt gehouden om het tekengebied te kunnen bevatten.
window_set_rectangle(x, y, w, h) Stelt de positie en het formaat van het venster in. (Verwerkt de twee bovenstaande routines in een.)
window_center() Centreert het venster op het scherm.
window_default() Geeft het venster het standaard formaat en positie (gecentreerd) op het scherm.
window_get_x() Geeft de huidige x-coördinaat van het venster terug.
window_get_y() Geeft de huidige y-coördinaat van het venster terug.
window_get_width() Geeft de huidige breedte van het venster terug.
window_get_height() Geeft de huidige hoogte van het venster terug.
Nog eens: je zult misschien nooit een van deze venster positioneringfuncties gebruiken omdat Game Maker hier automatisch voor zorgt.
In bijzondere gevallen wil je misschien de positie van de muis ten opzichte van het venster weten. (Normaal gesproken gebruik je altijd de muisposities in de room, bijv. met een 'view'.) De volgende functies bestaan hier voor:
window_mouse_get_x() Geeft de x-coördinaat van de muis in het venster terug.
window_mouse_get_y() Geeft de y-coördinaat van de muis in het venster terug.
window_mouse_set(x, y) Stelt de positie van de muis in het venster in op de aangegeven waardes.