使用抛射物理学更平滑的2D动画

时间:2014-05-26 03:11:14

标签: java physics projectile

前一段时间我发布了this个问题。我按照我给出的答案,因为它是有道理的。所以我建立了我的主要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,阻止球正常更新。在过去的一个半小时里,我一直在研究解决这个问题的新方法,我提出了一个问题......我试图这样做的方式是不行的,因为没有改变处理while循环所需的时间量?如果我做了一个游戏可能正在更新一个玩家或某些东西使得while循环在某些点比其他更长的时间,那会导致球正确更新吗?....我开始认为我只需要某种计时器,以使其正常工作XD

0 个答案:

没有答案