Java Application Örnekleri : Java`da Animasyon

advertisement
Java'da Animasyon Örneği
Java'da Animasyon Örneği
Java'da bir grup resmin artarda hızla gösterilmesi esasına dayanarak
canlandırma yapan bir örnek. Resim yüklemeyi ve zamanlayıcı kullanımını da
içeriyor.
Bilindiği gibi canlandırma (animasyon) resimlerin artarda gösterilmesiyle oluşur. İnsan gözü, saniyede gösterilen resim sayısı fazlaştıkça haraketli
bir görüntü izlendiği yanılsaması yaşanır. Java'da bir tuval (canvas) üzerinde belli görüntülerin (image'ların) peş peşe gösterilmesi canlandırma
etkisi bırakır.
Resim Yükleme
Java'da resim yüklemek için Toolkit (araç takımı) sınıfı kullanılır. Toolkit, görüntü yüklemek için üzerinde çalışılan prlatformun masaüstü sistemini
kullanır.
Toolkit toolkit=Toolkit.getDefaultToolkit();
Image image=toolkit.getImage(filePath);
Resim Çizme
Image'lar Java'da Graphics sınıfının drawImage() yöntemiyle gerçekleştirilir.
public void paint(Graphics g){
g.drawImage(image,,,this);
}
Zamanlama
Belli aralıkla repaint() yömntemi çağrılırsa, resimler artarda çizilmiş sayılır. Bir işlemin belli bir zaman
ara verilerek yapılmasının Timer
java.util.Timer timer=new java.util.Timer();
TimerTask task=new TimerTask(){
public void run(){
repaint();
}
};
timer.schedule(task,,500);
Bu şekilde bir canlandırma gerçekleştirmek için aşağıdaki gibi bir kod yazılabilir :
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class AnimasyonCanvas extends Canvas{
private Vector images=new Vector();
private int current=;
public AnimasyonCanvas(){
java.util.Timer timer=new java.util.Timer();
TimerTask task=new TimerTask(){
public void run(){
www.dijitalders.com
Java'da Animasyon Örneği
1
Java'da Animasyon Örneği
repaint();
}
};
timer.schedule(task,,500);
}
public void addImage(String filePath){
Toolkit toolkit=Toolkit.getDefaultToolkit();
Image image=toolkit.getImage(filePath);
images.add(image);
}
public void paint(Graphics g){
current=current%images.size();
Image image=(Image)images.get(current);
g.drawImage(image,,,this);
current++;
}
public static void main(String[] args){
Frame frame=new Frame();
AnimasyonCanvas canvas=new AnimasyonCanvas();
String folder="E:\Goya\JavaDeeply\JavaBook\JavaBook\test";
canvas.addImage(folder+"\frame_1.gif");
canvas.addImage(folder+"\frame_2.gif");
canvas.addImage(folder+"\frame_3.gif");
canvas.addImage(folder+"\frame_4.gif");
canvas.addImage(folder+"\frame_5.gif");
frame.add(canvas);
frame.setBounds(,,100,130);
frame.setVisible(true);
}
}
Kaynak www.godoro.com/Portal/Content/Article/ArticleViewPage.aspx
www.dijitalders.com
Java'da Animasyon Örneği
2
Download