23 Nisan 2012 Pazartesi

Java da Animasyon Kavramı


JAVA DA ANİMASYON UYGULAMALARI
Bilindiği üzere canlandırma(animasyon) bir resmin ya da resimlerin belirli zaman aralıklarıyla ard arda gösterilmesi ile olur. Şimdi animasyon oluşturmak için yapılması gereken adımları teker teker açıklayalım.

Resim Yükleme
Java da resim yüklemek için Toolkit  classından yararlanılır. Bu class’ın kullanılışı şu şekildedir.
            Toolkit toolkit=Toolkit.getDefaultToolkit();
            Image resim=toolkit.getImage(dosyaYolu);  
Resim Çizme
Image’ler Java da Graphics sınıfının drawImage()  metoduyla çizilir.
public void paint(Graphics g){
                        g.drawImage(image,0,0,this);
            }         
Zamanlama
Belli bir aralıkta repaint() metodu çağırılırsa resimler ya da istenilen şey art arda çizilmiş olur . Aşağıda ki kodu inceleyelim.
            java.util.Timer timer=new java.util.Timer();
            TimerTask task=new TimerTask(){
                        public void run(){
                                   repaint();
            }
            };
            timer.schedule(task,0,500);

package animasyonuygulamasi;

import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;

/**
 *
 * @author MESUT EMRE
 */
public class olay extends Canvas {
    private Vector resimler=new Vector();
    private int i=0;

    public olay() {
        Timer timer=new Timer();
        TimerTask timerTask=new TimerTask() {

            @Override
            public void run() {
                repaint();
            }
        };
        timer.schedule(timerTask, 0,800);
    }
   
    public void resimekle(String dosyayolu)
    {
        Toolkit toolkit=Toolkit.getDefaultToolkit();
        Image resim=toolkit.getImage(dosyayolu);
        resimler.add(resim);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        i=i%images.size();
        Image image=(Image)resimler.get(i);
        g.drawImage(resim, 0, 0, this);
        i++;
    }

}

Kaynak kodları ve programın çalıştırılabilir halini buradan indirebilirsiniz. İyi çalışmalar...