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