Edistyneemmät asetukset
Settings (Asetukset) -välilehdellä on kaksi kohtaa, joita emme vielä ole käsitelleet. Ensinnäkin,
sieltä löytyy valintalaatikko, jonka nimi on Persistent (pysyvä). Tavallisesti huoneesta
poistuessasi huone palautetaan sen alkutilaan. Tämä käy, jos pelissäsi on esimerkiksi jokin määrä
kenttiä, mutta yleensä se ei ole, mitä haluat esimerkiksi RPG-pelissä. Silloin huoneen tulisi olla
sellainen, millaiseksi se jäi viime kerralla. Persistent-laatikon valitseminen tekee juuri sen.
Huoneen tilanne pistetään muistiin ja kun palaat sinne myöhemmin, se on samassa tilassa kuin
lähtiessäsi. Huone palautuu vain, kun käynnistät pelin uudelleen. Tähän on itse asiassa poikkeus. Jos
merkitset tietyt objektit pysyviksi, niiden objektien instanssit eivät säily huoneessa, vaan siirtyvät
seuraavaan huoneeseen.
Toiseksi, sivulta löytyy painike Creation code (Luontikoodi). Sitä painamalla voit kirjoittaa
koodia GML-kielellä (tästä myöhemmin lisää), joka suoritetaan huonetta luodessa. Tämä on hyödyllinen
esimerkiksi, kun alustetaan tiettyjä muuttujia huoneelle, luodaan instansseja jne. On tärkeää ymmärtää,
mitä tarkalleen tapahtuu, kun siirryt pelin tiettyyn huoneeseen.
- Ensiksi nykyisessä huoneessa (jos on olemassa) kaikille instansseille suoritetaan huoneen
loppumistapahtuma (Room End). Sitten kaikki ei-pysyvät instanssit poistetaan (tuhoamistapahtumaa
(Destroy) ei suoriteta!).
- Sitten uuteen huoneeseen lisätään edellisen huoneen pysyvät instanssit.
- Kaikki uudet instanssit luodaan ja niiden luontitapahtumat (Create) suoritetaan (jos huone
ei ole pysyvä eikä siellä ole käyty aiemmin).
- Jos kyseessä on pelin ensimmäinen huone, kaikille instansseille suoritetaan pelin alkamistapahtuma
(Game Start).
- Nyt suoritetaan huoneen luontikoodi.
- Lopuksi kaikille huoneen instansseille suoritetaan huoneen alkamistapahtuma (Room Start).
Huoneen alkamistapahtumat voivat siis esimerkiksi käyttää muuttujia, jotka on luotu huoneen
luontikoodissa ja luontitapahtumassa voit viitata kaikkiin huoneen instansseihin (sekä uusiin että
pysyviin).
On vielä yksi vaihtoehto. Ponnahdusvalikossa, jonka voit avata klikkaamalla instanssia
<Ctrl>-näppäin pohjassa, voit nyt asettaa tietylle instanssille omaa luontikoodia. Tämä koodi
suoritetaan huoneen alkaessa, juuri ennen kuin instanssin luontitapahtuma suoritetaan. Tämä on erittäin
hyödyllinen keino esimerkiksi instanssille ominaisten parametrien asettamiseen.