摆动画大圆圈导致减速

  • 本文关键字:动画 java swing graphics
  • 更新时间 :
  • 英文 :


我遇到了两难境地。我希望能够画出相当多的透明中等大小的圆圈。然而,似乎发生的事情是,当我用秋千画大圆圈时。我应该如何去画这些更大的圆圈

显示这一点的代码,它只是画了一堆小圆圈或很多大圆圈。我使用 fraps 来检查 fps,我不知道如何以任何其他方式做到这一点,在这方面

也非常感谢。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.*; 
import java.io.*; 
import javax.imageio.*; 
import java.util.*;
import javax.swing.Timer;
public class PhysicsGame {
    public static void main(String[] args) {
        System.out.println();
        Game frame = new Game();
    }
}
class Game extends JFrame implements ActionListener{
    private Timer myTimer;   
    private GamePanel panel;
    public Game() {
        super("Things.py");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(1000,800);
        panel = new GamePanel(this);
        add(panel);
        myTimer = new Timer(15, this);
        myTimer.start();
        setResizable(false);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent evt){
        panel.repaint();        
    }
}
class GamePanel extends JPanel{
    private Game mainframe;
    public GamePanel(Game m){
        mainframe=m;
    }
    public void paintComponent(Graphics gg){
        Graphics2D g=(Graphics2D) gg;
        for (int i=0;i<100;i++){
            g.fillOval(10,10,100,100);
            //g.fillOval(10,10,1000,1000);// this takes significantly longer
        }
    }
    public void addNotify() {
        super.addNotify();
    }

如果是用于游戏,也许您可以考虑将绘图基元的使用替换为带有 alpha 层(用于透明度)的(预先计算的)图片。

您可以使用缓冲图像创建图像,在它们上绘制,检索它们需要时,并使用g.drawImage绘制它们?

我想绘图和剪辑都会更有效率。

相关内容

  • 没有找到相关文章

最新更新