0
나는 어떤 모양을 채우기 위해 구현 한 알고리즘을 가지고 있습니다 ... 그러나 어떤 지연도없이 모양을 즉시 채 웁니다 ... 나는 그것이 홍수 채우기 알고리즘이 어떻게 보이는지 알 수 있도록 애니메이션 유형을 보여주고 싶습니다. 모양이 채워질 때 작동합니다. 다각형을 채우는 애니메이션 효과를위한 스윙 타이머?
public static void floodFill(BufferedImage image, int x,int y, int fillColor)
{
java.util.ArrayList<Point> examList=new java.util.ArrayList<Point>();
int initialColor=image.getRGB(x,y);
examList.add(new Point(x,y));
while (examList.size()>0)
{
Point p = examList.remove(0); // get and remove the first point in the list
if (image.getRGB(p.x,p.y)==initialColor)
{
x = p.x; y = p.y;
image.setRGB(x, y, fillColor); // fill current pixel
examList.add(new Point(x-1,y));
examList.add(new Point(x+1,y));
examList.add(new Point(x,y-1));
examList.add(new Point(x,y+1));
}
}
}
가 시작 타이머가 배치되어야한다 : 여기
내 알고리즘?
이봐, 당신의 대답은 완벽에 대한 How to use Swing Timers를 참조
지연 루프의 일종으로 역할 :하지만 어떻게 내가 애니메이션 빠른 비트를 실행 할 수 있습니까? 나는 타이머 40의 값을 변경하고 그것을 감소 시켰지만 변화가 없었다 ... 어떤 생각? – user2228135
actionPerformed 메소드에서 수행중인 작업량을 늘리십시오. – MadProgrammer
작업량을 늘리려고했지만 ... 정의한 모양을 채우기 시작했습니다 ... 다소 혼란스러운 느낌이 들었습니다 ... – user2228135