On this page:
to-draw
on-tick
on-key
on-mouse
stop-when
5.2.2 big-bang lauseet

syntax

(to-draw päivitä-näyttö)

 
  päivitä-näyttö : (tila -> kuva)
Kertoo mitä funktiota (päivitä-näyttö) pitää kutsua, jotta ohjelman näyttö päivittyy. Näyttö päivitetään yleensä jokaisen tapahtuman (näppäimen painallus, hiiren käyttö, kellon tikitys) jälkeen. Kuvan koko määräytyy ensimmäisenä piirretyn kuvan mukaan.

Tällaisia funktioita kutsutaan ohjelmoinnissa callback-funktioiksi ja big-bang:iä message loop:ksi.

syntax

(on-tick kellon-tikitys)

 
  kellon-tikitys : (tila -> tila)
Kertoo mitä funktiota (kellon-tikitys) pitää kutsua, jotta ohjelman tila päivittyy ajan kuluessa. Funktiolle annetaan ohjelman nykyinen tila ja se palauttaa tilan, josta tulee ohjelman uusi tila. Kello tikittää 28 kertaa sekunnissa.

syntax

(on-tick kellon-tikitys nopeus)

 
  kellon-tikitys : (tila -> tila)
  nopeus : positiivinen-reaaliluku
Kertoo mitä funktiota (kellon-tikitys) pitää kutsua, jotta ohjelman tila päivittyy ajan kuluessa. Funktiolle annetaan ohjelman nykyinen tila ja se palauttaa tilan, josta tulee ohjelman uusi tila. Kello tikittää nopeus kertaa sekunnissa.

syntax

(on-key näppäimen-painallus)

 
  näppäimen-painallus : (tila key-event? -> tila)
Kertoo mitä funktiota (näppäimen-painallus) pitää kutsua, kun käyttäjä on painanut jotain näppäintä. Funktiolle annetaan ohjelman nykyinen tila sekä painettua näppäintä kuvaava merkkijono ja se palauttaa tilan, josta tulee ohjelman uusi tila.

syntax

(on-mouse hiiren-käyttö)

 
  hiiren-käyttö : (tila kokonaisluku kokonaisluku mouse-event? -> tila)
Kertoo mitä funktiota (hiiren-käyttö) pitää kutsua, kun käyttäjä on käyttänyt hiirtä. Funktiolle annetaan ohjelman nykyinen tila, hiiren x ja y koordinaatit sekä hiiren tapahtuma (mouse-event?) ja se palauttaa tilan, josta tulee ohjelman uusi tila.

Huomaa, että jos hiiren tapahtuma on "leave" tai "enter" hiiren koordinaatit voivat olla myös animaatioikkunan ulkopuolella eli ne voivat olla negatiivisia tai suurempia kuin animaatioikkunan koko.

syntax

(stop-when lopetus?)

 
  lopetus? : (tila -> totuusarvo)

Kertoo mitä funktiota (lopetus?) pitää kutsua, kun varmistetaan voiko ohjelman jo sulkea. Tätä funktiota kutsutaan automaattisesti näytönpäivityksen yhteydessä. Jos funktio palauttaa #true, ohjelma suljetaan, erityisesti kellon tikitys lakkaa eikä näppäimen painalluksia tai hiiren käyttöä tapahtumia enää välitetä eteenpäin. big-bang palauttaa nyt ohjelman viimeisen tilan. }

syntax

(stop-when lopetus? viimeinen-näytön-päivitys)

 
  lopetus? : (tila -> totuusarvo)
  viimeinen-näytön-päivitys : (tila -> kuva)
Kertoo mitä funktiota (lopetus?) pitää kutsua, kun varmistetaan voiko ohjelman jo sulkea. Tätä funktiota kutsutaan automaattisesti näytönpäivityksen yhteydessä. Jos funktio palauttaa #true, kutsutaan viimeinen-näytön-päivitys-funktiota ja ohjelma suljetaan, erityisesti kellon tikitys lakkaa eikä näppäimen painalluksia tai hiiren käyttöä tapahtumia enää välitetä eteenpäin. big-bang palauttaa nyt ohjelman viimeisen tilan.