Rešio sam problem na sledeći način.
Code:
public void move() {
if (mousePressed) {
ubrzanje += 0.025;
}
else {
ubrzanje -= 0.025;
}
if ((int)ubrzanje > (int)gravitacionoUbrzanje) {
yPos--;
}
else if ((int)ubrzanje < (int)gravitacionoUbrzanje) {
yPos++;
}
}
gravitacionoUbrzanje je double konstanta na 9.5. Promenljiva
ubrzanje je takođe dobule koja se povećava i smanjuje za 0.025. Na mousePressed i mouseReleased
ubrzanje dobije vrednost
gravitacionogUbrzanja. U drugom if-u kastovao sam obe vrednosti u int i tako se odseku decimale.
GravitacionoUbrzanje postane 9, a
ubrzanje krene od 9,5 da se povećuje ili smanjuje, i sve dok ne postane 10 ili padne ispod 9, yKoordinata se ne menja i na taj način objekat nešto malo ostane u istoj poziciji prilikom promene smera kretanja.
Koliko je ovo pametno ne znam. Ako neko ima komentar, rado bih ga čuo.
„Naposletku, suština saznavanja nije u tome gubimo li igru, već kako je gubimo,
šta time spoznajemo, čemu nas je poraz naučio i kako nas to menja. Gubiti na određen
način znači - dobijati.”
Richard Bach