Seuraavat komennot lukevat hiiren koordinaattipisteet:
| mouseX; |
Lukee hiiren x-koordinaatin arvon |
| mouseY; |
Lukee hiiren y-koordinaatin arvon |
Seuraavalla ohjelmalla voit piirtää peilikuvana.
SANALLINEN ALGORITMI
- Aseta ikkunan kooksi 800 px vaakaan ja 800 px pystyyn.
- Aseta ikkunan taustaväriksi valkoinen.
- Siirrä origoa 400 px oikealle ja 400 px alas eli siirrä origo ikkunan keskelle.
- Aseta reunaviivan väriksi musta.
- Määrittele kokonaislukumuuttuja x ja tallenna siihen hiiren x-koordinaatti siirrettynä ikkunan keskelle.
- Määrittele kokonaislukumuuttuja y ja tallenna siihen hiiren y-koordinaatti siirrettynä ikkunan keskelle.
- Jos hiiren vasen painike on pohjassa, niin
- Aseta punainen täyttöväri.
- Piirrä punainen ympyrä, jonka halkaisija on 20, paikkaan (x, y).
- Peilaa x:n akseli eli x:n arvot kasvavat vasemmalle.
- Aseta sininen täyttöväri,
- Piirrä sininen ympyrä, jonka halkaisija on 20, paikkaan (x, y). Sininen ympyrä piirretään peilikuvana, koska x-akseli osoittaa eri suuntaan.
|
// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
void setup() {
size(800,800); // Ikkunan koko
background(255); // Valkea tausta
}
void draw() {
translate(400,400); // Origo ikkunan keskelle
stroke(0); // Reunaviivan väri musta
line(0,-400,0,400); // Piirrä pystyviiva ikkunan keskelle
noStroke(); // Ei reunaviivaa
int x = mouseX-400; // Lue hiiren x-koordinaatti
int y = mouseY-400; // Lue hiiren y-koordinaatti
if (mousePressed == true) { // Jos hiirtä painettu
fill(255,0,0); // Punainen täyttöväri
ellipse(x,y,20,20); // Piirrä punainen ympyrä
scale(-1,1); // Peilaa koordinaatisto
fill(0,0,255); // Sininen täyttöväri
ellipse(x,y,20,20); // Piirrä sininen ympyrä
}
}
Kuinka koodi pitäisi muuttaa, että voisit peilata vaakasuunnassa? Entä jos haluaisit peilata sekä pysty- että vaakasuunnassa yhtä aikaa?