gpt4 book ai didi

java - 限制我的游戏的 FPS

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:40 26 4
gpt4 key购买 nike

好吧,我正在制作一个小游戏,我需要限制我的 FPS,因为当我在我非常快的电脑上玩时,我有大约 850 FPS,游戏会非常快,当我切换到我的旧电脑,它运行得更慢,所以我需要限制我的 FPS 才能做到这一点。如何限制我的 FPS?我的主要游戏循环:

    public void startGame(){
initialize();
while(true){
drawScreen();
drawBuffer();
plyMove();

//FPS counter
now=System.currentTimeMillis();
framesCount++;
if(now-framesTimer>1000){
framesTimer=now;
framesCountAvg=framesCount;
framesCount=0;
}

try{
Thread.sleep(14);
}catch(Exception ex){}
}
}

我如何绘制屏幕,​​以及绘制所有其他东西、球员、球等。顺便说一下,该游戏是乒乓球翻拍游戏。

    public void drawBuffer(){
Graphics2D g = buffer.createGraphics();
g.setColor(Color.BLACK);
g.fillRect(0,0,600,500);
g.setColor(Color.GREEN);
g.fillRect(ply1.getX(),ply1.getY(),ply1.getWidth(),ply1.getHeight());
g.setColor(Color.RED);
g.fillRect(ply2.getX(),ply2.getY(),ply2.getWidth(),ply2.getHeight());
g.setColor(Color.WHITE);
g.fillOval(ball1.getX(),ball1.getY(),ball1.getWidth(),ball1.getHeight());
g.drawString("" + framesCountAvg,10,10);
}

public void drawScreen(){
Graphics2D g = (Graphics2D)this.getGraphics();
g.drawImage(buffer,0,0,this);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}

最佳答案

听起来您的显示器与您的游戏引擎相关联。确保两者断开连接。无论帧率是多少,您都希望游戏以相同的速度播放。如果您的快速计算机重新绘制屏幕的速度更快,如果引擎导致游戏以恒定速度运行,那是可以的。

关于java - 限制我的游戏的 FPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com