我遇到了两难境地。我希望能够画出相当多的透明中等大小的圆圈。然而,似乎发生的事情是,当我用秋千画大圆圈时。我应该如何去画这些更大的圆圈
显示这一点的代码,它只是画了一堆小圆圈或很多大圆圈。我使用 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绘制它们?
我想绘图和剪辑都会更有效率。