Friday, May 18, 2012

Membuat Animasi "Credit Film" menggunakan Bahasa Pemrograman Java

Ini mau ngetik apa yah...
bingung sudah lama ga posting artikel maupun tutorial apapun.
yah biasalah semakin lama kuliah kesibukan semakin bertambah..
Mmmmm...
dari dulu memang kesulitan merangkai kata-kata buat isi blog sendiri.
yah mungkin ga bakat jadi seorang penulis semoga menjadi orang yang bakat dibidang programming dan analys. Amiin.. :)
Pada coretan dinding kali ini adalah request dari seseorang tentang thread.
kali ini adalah pembuatan efek "credit film" menggunakan pemrograman java.
yang dimaksud credit film diatas adalah adanya teks/kata-kata yang keluar dari bawah dan berjalan keatas dan hilang..
yah dari pada SalisAhmad bingung nyusun kata-kata mending langsung kasih kodingannya aja.. :D

penjelasan sedikit:
pada efek ini intinya adalah :
1. Objek pasti punya koordinat X dan Y, nah kita cuma mengubah nilai tersebut untuk menggerakkan objek.
2. Untuk mengubah nilai X dan Y sama seperti posting yang sebelumnya, yaitu menggunakan fungsi Thread.




/*
 * email        : d_iennitial@yahoo.com
 * blog         : Coret2dinding.blogspot.com
 * twitter      : #iennitial_AK
 * Facebook     : /salis.ahmad
 * @author Ahmad Salis A. Khitam
 */

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class animasiText6 extends JPanel {
    //Membuat variabel thread

    Thread animasi;
   
    int x = 10, a = 10, batas = 240,
            y1 = 300,
            y2 = 350,
            y3 = 400,
            y4 = 450,
            y5 = 500
           
            ;

    // <editor-fold defaultstate="collapsed" desc="Coret2dinding.blogspot.com">
    public animasiText6() {
        setPreferredSize(new Dimension(500, 300));
        setFocusable(true);
        requestFocusInWindow();
        initThread();
        //untuk memulai thread
        animasi.start();
    }


    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        drawText(g2);
    }

    //method untuk menampung thread
    public void initThread() {
        animasi = new Thread(new Runnable() {

            public void run() {
                while (true) {
                    // <editor-fold defaultstate="collapsed" desc="menggerakkan text">
    &nsp;               if(y1>-130){
                        y1--;
                    }else{
                        y1=300;
                    }
                    if(y2>-130){
                        y2--;
                    }else{
                        y2=300;
                    }
                    if(y3>-130){
                        y3--;
                    }else{
                        y3=300;
                    }
             ;       if(y4>-130){
                        y4--;
                    }else{
                        y4=300;
                    }
                    if(y5>-130){
                        y5--;
                    }else{
                        y5=300;
                    }
                   
                    // </editor-fold>

                    try {
                        //untuk mengatur kecepatan thread, semakin kecil nilai semakin cepat
                        Thread.sleep(30);
                    } catch (Exception e) {
                    }
                    //untuk memanggil repaint
                    SwingUtilities.invokeLater(new Runnable() {

                        public void run() {
                            repaint();
                        }
                    });
                }
            }
        });
    }

    public void drawText(Graphics2D g2) {
        g2.setFont(new Font("Calibri", 1, 25));
        g2.setColor(Color.BLUE);
        g2.drawString("Salis Ahmad", 100 + x, y1);
        g2.drawString("Coret - Coret Dinding", 100 + x, y2);
        g2.drawString("Coret2dinding.blogspot.com", 100 + x, y3);
        g2.drawString("facebook.com/salis.ahmad", 100 + x, y4);
        g2.drawString("twitter.com/iennitial_AK", 100 + x, y5);
    }

    public void xplay() {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                final JFrame frame = new JFrame("Animasi Text");
                frame.setDefaultCloseOperation(
                        JFrame.EXIT_ON_CLOSE);
                frame.add(new animasiText6());
                frame.pack();
                frame.setResizable(false);
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });

    }
    // </editor-fold>

    public static void main(String salis[]) {
        new animasiText6().xplay();
    }
}

maaf postingannya masih blepotan...
kritik dan saran kami terima dengan senang hati..
semoga coretan-coretan ini bermanfaat..
kalau masih bingung bisa tinggalkan jejak dibawah.

1 comment: