Kamis, 08 Desember 2016

Membuat Animasi Bergerak Menggunakan Java Netbeans

Kali ini Project UAS Grafika Komputer adalah membuat animasi bergerak menggunakan Java Netbeans.


Berikut adalah Coding untuk Membuat animasi seperti pada gmbar diatas :
package uas;
 @author igi
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
public class Uas extends JPanel implements ActionListener  {
    private double angle = 0;
    Timer timer;
    Rectangle.Float r = new Rectangle.Float(20, 20, 50, 50);

    public Uas() {
        timer = new Timer(20, this);//jalankan timer per 20 milisecond
        timer.start();
    }

    @Override
    public void paint(Graphics g) {
        int w = getWidth();
        int h = getHeight();

        Graphics2D g2d = (Graphics2D) g;
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);

        g2d.setColor(Color.WHITE);
        Font font = new Font("Vivaldi", Font.BOLD, 50);
        g2d.setFont(font);
        g2d.drawString("Sebuah Animasi : ", 10, 50);
        g2d.drawString("Karya ", 10, 150);
        g2d.drawString("IGI KELEN", 10, 250);
        g2d.setColor(Color.WHITE);
        g2d.drawString("Animation Grafika  ", 900, 620);
         g2d.drawString("  INTEGER12", 980, 660);


        g2d.setColor(Color.RED);
        g2d.translate(w / 2, h / 2);
        g2d.rotate(angle);//rotasikan sudut sebesar nilai angle
        g2d.fill(r);

        g2d.setColor(Color.black);
        g2d.fillRect(50, 50, 50,50);
        g2d.setColor(Color.yellow);
        g2d.fillRect(80, 80, 50, 50);
         g2d.setColor(Color.green);
        g2d.fillRect(110, 110, 50, 50);
        g2d.setColor(Color.cyan);
        g2d.fillRect(140, 140, 50, 50);
        g2d.setColor(Color.MAGENTA);
        g2d.fillRect(170, 170, 50, 50);
        g2d.setColor(Color.ORANGE);
        g2d.fillRect(200, 200, 50, 50);
        g2d.setColor(Color.BLUE);
        g2d.fillRect(230, 230, 40, 40);
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    JFrame frame = new JFrame("Transformasi >> Rotasi....");
        frame.add(new Uas());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 400);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.setBackground(Color.DARK_GRAY);
    }
    public void actionPerformed(ActionEvent e) {
        angle = angle + 0.01;
        repaint();
    }
}

Tidak ada komentar:

Posting Komentar