0

それで、少し前にこの質問を投稿しました。そして、それが理にかなっていたので、与えられた答えに従いました。そこで、次のようにメインの 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

4

0 に答える 0