如何让圈子成长?

时间:2015-04-17 23:00:31

标签: java swing object geometry jcomponent

我想让我的圈子成长。创建它时,我希望它从一个大小开始,并在达到最大大小时消失。我的圈子应该代表某种爆炸。

public class Circle extends JComponent {

private int size;
private int max = 500;

public Circle(int size) {
    this.size = size;
    setSize(500, 500);
}

@Override
public void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.setColor(Color.orange);
    g.fillOval(0, 0, size, size);
}}

所以,正如你所看到的,这是一个非常基本的圈子。我只是想创建那个小动画。

1 个答案:

答案 0 :(得分:0)

我建议为爆炸制作一个类,以便在渲染帧中存储其位置和当前大小。 为了使圆增长,只需​​从它的位置减去你想要它增长多少(以像素为单位),这将给出fillOval的x和y坐标,width和height参数将是大小。 e.g

g.drawOval(x - radius, y - radius, 2 * radius, 2 * radius );

然后,您可以将其与radius > 100等条件配对,以确定爆炸是否已完成 - 然后再渲染它。