19日の続き
6月19日に言っていたうまく停止させる方法であるが、アホみたいに単純な方法で解決した。
現在位置と現在速度をintではなくfloat(もしくはdouble)で宣言して表示のときだけint型にキャストしてやればよいのだ。(intにキャストすると四捨五入じゃなくて切捨てなのが気になるが、動作は申し分ない。)
こんな感じだ。実にいい感じで動作する。
static float myX = 300;
static int myTerminusX = 200;
static float myVX = 0;
・
・
・
g.fillOval((int)myX-r,(int)myY-r,r*2,r*2);
・
・
・
myVX = (myTerminusX - myX)/50;