我遇到了困境。我希望能够绘制相当多的透明中型圆圈。但是,当我用摇摆画出大圆圈时,似乎会发生什么。我应该如何绘制这些较大的圆圈
显示此代码的代码只是绘制了一堆小圆圈或许多大圆圈。我使用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();
}
答案 0 :(得分:0)
如果是游戏,也许您可以考虑将图形基元的使用替换为带有alpha图层的(预先计算的)图片(用于透明度)。
您可以使用BufferedImages创建图像,绘制它们,检索它们 需要时,用g.drawImage绘制它们?
我想绘图和裁剪都会更有效率。