Kuvion liikuttelu hiirellä
Entä jos halutaan ohjata ympyrää hiirellä? Nyt kun muistetaan, että hiiren vaakakoordinaatti luetaan komennolla mouseX ja hiiren pystykoordinaatti komennolla mouseY, niin yksikertaisesti verrataan tätä arvoa laskurin arvoon. Jos hiiren koordinaatti on suurempi kuin laskurin arvo, niin kasvata laskuria. Jos hiiren koordinaatti on pienempi kuin laskurin arvo, niin vähennä laskuria. Ainut huomio on se, että hiiren koordinaatti ei älyä mahdollista koordinaatiston siirtoa vaan se otetaan tulostusikkunasta. Kokonainen ohjelma näyttää tältä.
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
int a = 200; // Laskurin alkuarvo
void setup () {
size(400,400); // ikkunan koko
stroke(0); // Musta viivan väri
fill(255,0,0); // Punainen täyttöväri
}
void draw() {
background(255); // Tyhjennä tausta
int x = mouseX; // Selvitä hiiren vaakakoordinaatti
if (x>a) { // Jos hiiri on oikealla puolen
a++; // niin kasvata laskuria
}
if (x<a) { // Jos hiiri on vasemmalla puolen
a--; // niin pienennä laskuria
}
ellipse(a,200,20,20);
}
Tehdään lopuksi vielä jotain hauskaa. Tehdään seuraavaksi peli. Tässä pelissä pallo eli ympyrä putoaa ylhäältä alas. Pelaajan tehtävä on pysäyttää pallo suorakulmiolla, jota liikutellaan nuolinäppäimillä oikealla ja vasemmalle. Jos pelaaja ei saa palloa kiinni, niin peli päättyy. Jos pelaaja saa pallon kiinni, niin pallo palautetaan takaisin ylös. Jotta pelistä tulisi mielenkiintoinen, niin peli voisi nopeutua koko ajan. Lisäksi lasketaan pisteet eli kerätyt pallot.