Ajoittaminen

Hyvät pelit vaativat asioiden tapahtumisten tarkkaa ajoittamista. Onneksi Game Maker hoitaa puolestasi suurimman osan ajoittamisesta. Se pitää huolen, että asiat tapahtuvat tietyllä nopeudella. Tämä nopeus määritellään huoneita määriteltäessä. Voit kuitenkin muuttaa sitä käyttämällä globaalia muuttujaa room_speed. Voit esimerkiksi hitaasti nopeuttaa pelin nopeutta, tehden siitä vaikeammaksi, lisäämällä pienen arvon (kuten 0.001) huoneen nopeuteen joka askeleella. Jos tietokoneesi on hidas, pelin nopeuteen ei välttämättä päästä. Tämä voidaan tarkistaa muuttujalla fps, joka tarkkailee aktiivisesti todellista kuvien määrää sekunnissa. Voit myös käyttää muuttujaa current_time, joka kertoo tietokoneen käynnistämisestä kuluneen ajan millisekunteina, edistyneempiin ajoittamistoimiin. Tässä ovat kaikki käytettävissä olevat muuttujat (vain ensimmäistä voidaan muuttaa):

room_speed Nykyisen pelin huoneen nopeus (askeleina sekunnissa).
fps* Todellinen sekunnissa piirrettyjen kuvien määrä.
current_time* Tietokoneen käynnistämisestä kulunut aika millisekunteina.
current_year* Nykyinen vuosi.
current_month* Nykyinen kuukausi.
current_day* Nykyinen päivä.
current_weekday* Nykyinen viikonpäivä (1=sunnuntai, ..., 7=lauantai).
current_hour* Nykyinen tunti.
current_minute* Nykyinen minuutti.
current_second* Nykyinen sekunti.

Joskus halutaan pysäyttää peli hetkeksi. Tällöin käytetään sleep-funktiota.

sleep(numb) Pitää taukoa numb millisekuntia.

Kuten sinun pitäisi tietää, jokaisella instanssilla on 12 eri ajastintapahtumaa (Alarm), jotka voidaan asettaa. Näiden muuttamiseksi käytä seuraavaa muuttujaa:

alarm[0..11] Ilmoitetun ajastimen arvo. (Huomaa, että ajastimet päivitetään vain, jos kyseisen objektin kyseinen ajastintapahtuma sisältää toimintoja!)

On myös todettu, että monimutkaisten ajoittamistapausten kanssa kannattaa käyttää aikajanaresurssia. Jokaiselle instanssille voi määrittää aikajanan. Seuraavat muuttujat käsittelevät tätä:

timeline_index Instanssille määritetyn aikajanan indeksi. Voit määrittää tämän muuttujan joksikin aikajanaksi käyttääksesi sitä. Anna tälle muuttujalle arvoksi -1, jos haluat lopettaa aikajanan käyttämisen instanssilla.
timeline_position Nykyinen sijainti aikajanalla. Voit muuttaa tätä hypätäksesi tiettyjen kohtien ohi tai joidenkin kohtien toistamiseksi.
timeline_speed Tavallisesti joka askeleella sijaintia aikajanalla lisätään yhdellä. Voit muuttaa tätä asettamalla tähän jonkin toisen arvon. Voit käyttää reaalilukuja, kuten 0.5. Jos arvo on suurempi kuin yksi, useita tapahtumahetkiä voi tapahtua samalla askeleella. Ne kaikki suoritetaan oikeassa järjestyksessä, joten toimintoja ei ohiteta.