それで、少し前にこの質問を投稿しました。そして、それが理にかなっていたので、与えられた答えに従いました。そこで、次のようにメインの while ループを作成しました。
while(running){
endTime = System.currentTimeMillis();
frametime = (endTime - startTime);
test.update(frametime/1000);
test.repaint();
System.out.println(test.yvel + " " + startTime + " " + frametime);
startTime = endTime;
try{
if(1000/30 > System.currentTimeMillis() - endTime)
Thread.sleep((long) (1000/30 - (System.currentTimeMillis() - endTime)));
}
catch(Exception e){}
}
これにより、アニメーションの「滑らかさ」が修正されました....しかし、物理部分が破壊されました...ループ全体を通過するのに33ミリ秒かかるため、フレームタイムは常に33に等しく、停止することがわかりましたボールが適切に更新されません。私はこれを修正する新しい方法を考えようとして過去1時間半これに取り組んできました.そして私は質問を思いつきました. while ループの処理にかかる時間は? プレーヤーを更新している可能性のあるゲームや、whileループを他のポイントよりも長くしている可能性のあるゲームを作成した場合、それによってボールが正しく更新されるでしょうか?...これを正しく機能させるためのタイマー XD