// Ohjelman tehnyt e-Oppi Oy
// 30.8.2017
PImage kuva;
int x; // Muuttuja origolle
int y; // Muuttuja origolle
int x2;
int y2;
boolean kyna=false; // Oletuksena on, että kynä ei piirrä
boolean olio = true; // Oletuksena on, että hahmo näkyy
void setup () {
size(480,360); // Voit halitessasi muuttaa tätä
x = width/2; // Origo puolet ikkunan leveydestä
y = height/2; // Origo puolet ikkunan korkeudesta
background(255); // Taustaväri valkoinen
kuva = loadImage("kissa.png"); // Lataa kissan kuva
frameRate(20); // Ikkunan päivitysnopeus
stroke(255,0,0); // Punainen väri oletuksena
strokeweight(2); Viivan paksuus 2 oletuksena
}
void draw () {
koordinaatisto(); // Älä poista tätä
// Laita tähän omat komennot
hahmo(); // Piirrä hahmo
}
void koordinaatisto() {
x2 = 0;
y2 = 0;
translate(x,y);
scale(1,-1);
if (kyna == false) {
background(255);
}
}
void hahmo() {
if (olio == true) {
pushMatrix();
scale(1,-1);
image(kuva,-50,-50,100,100);
popMatrix();
}
}
void vasemmalle(int kulma) {
rotate(radians(kulma));
}
void oikealle(int kulma) {
rotate(radians(-kulma));
}
void liiku(int askel) {
if (kyna == true) {
line(0,0,askel,0);
}
translate(askel,0);
}
void mene_kohtaan(int a, int b) {
translate(-x2,-y2);
if (kyna == true) {
line(x2,y2,a,b);
}
translate(a,b);
x2 = a;
y2 = b;
}
void osoita_suuntaan(int d) {
rotate(radians(d));
}
void osoita_kohti() {
float kulma = degrees(atan2(mouseX-x,mouseY-y));
rotate(radians(-90+kulma));
}
void mene() {
if (kyna == true) {
line(pmouseX-x,-pmouseY+y,mouseX-x,-mouseY+y);
}
translate(mouseX-x,-mouseY+y);
x = mouseX;
y = mouseY;
}
void kynan_vari(int r, int g, int b) {
fill(r,g,b);
stroke(r,g,b);
}
void kynan_paksuus(int p) {
strokeWeight(p);
}
void kyna_alas() {
kyna = true;
}
void kyna_ylos() {
kyna = false;
}
void piilota() {
olio = false;
}
void nayta() {
olio = true;
}