Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan
syarat tidak menghapus atau merubah atribut penulis dan pernyataan
copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan
melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
IlmuKomputer.Com.
DASAR ANIMASI
Animasi pada dasarnya adalah
membuat objek seolah-olah bergerak sehingga terjadi pergerakan yang
membuat mata kita memandangnya sebagai sebuah kesatuan utuh. Padahal
dibalik itu, animasi dibuat berdasarkan pada bagian-bagian tertentu
(terpisah) dan baru kemudian akan disatukan untuk mendapatkan pergerakan
yang sempurna. Untuk membuat animasi, terlebih dahulu kita harus
membuat satu per satu bagian- bagian tertentu tadi. Hal ini merupakan
hal yang sangat berat dalam membuat animasi mengingat kita harus
memikirkan bagaimana desain atau bagian dari animasi yang kita buat
tersebut supaya benar-benar mendapatkan hasil yang
sempurna jika disatukan.
DASAR ANIMASI DENGAN JAVA
Java
merupakan bahasa pemrograman yang sangat ampuh sekali. Ini bisa
dibuktikan dengan kemampuannya yang tidak bergantung pada platform.
Artinya Java dapat dijalankan pada sembarang komputer dan bahkan pada
sembarang sistem operasi (sering disebut dengan istilah portabilitas).
Yang menarik, tingkat portabilitas Java tidak hanya sebatas pada program
sumber (source code), melainkan juga pada tingkat kode biner yang
disebut bytecode. Ini berarti, bila
Anda telah mengkompilasi program
Java pada komputer bersistem operasi Windows, maka Anda dapat
menjalankan hasil kompilasi pada komputer bersistem operasi Linux tanpa
perlu mengkompilasi ulang lagi.
Untuk membuat animasi di Java,
kita juga harus membuat bagian-bagian yang kemudian akan kita satukan
untuk mendapatkan pergerakan (animasi). Ok’s, langsung saja Penulis akan
memberikan salah satu contoh animasi sederhana yang akan memunculkan
tanda bintang secara bergantian dan akan berjalan dari kiri ke kanan.
Kode program :
//*********************************
//Nama File : animasiSederhana.java
//*********************************
//Animasi di Java
//Untuk menampilkan animasi bintang
//*********************************
import java.awt.*;
import java.awt.event.*;
public class animasiSederhana extends Frame implements Runnable {
Thread animation;
// Mengatur waktu delay
int frameDelay = 100;
// Objek yang akan ditampilkan
String frames[] = {"*","**","***","****","*****","****","***","**","*"};
// Menentukan variabel yang diperlukan
int numFrames = frames.length;
int currentFrame = 0;
long lastDisplay = 0;
int screenWidth = 200; //lebar layar
int screenHeight = 200; //tinggi layar
public static void main(String args[]) {
animasiSederhana app = new animasiSederhana();
}
public animasiSederhana() {
super("Animasi Sederhana");
setup();
setSize(screenWidth,screenHeight);
addWindowListener(new WindowEventHandler());
show();
animation = new Thread(this);
animation.start();
}
void setup() {
setupMenuBar();
setFont(new Font("default",Font.BOLD,18)); //mengatur font
}
void setupMenuBar() {
MenuBar menuBar = new MenuBar();
Menu fileMenu = new Menu("File");
MenuItem fileExit = new MenuItem("Tutup");
fileExit.addActionListener(new MenuItemHandler());
fileMenu.add(fileExit);
menuBar.add(fileMenu);
setMenuBar(menuBar);
}
public void paint(Graphics g) {
g.drawString(frames[currentFrame],60,60); //membuat frame
}
public void run() {
2
Tips & Trik IlmuKomputer.Com
Copyright © 2005 IlmuKomputer.Com
// membuat animasi (perulangan)
do {
long time = System.currentTimeMillis();
if(time - lastDisplay > frameDelay) {
repaint();
try {
Thread.sleep(frameDelay); //berhenti selama frameDelay=100
}catch(InterruptedException ex){
}
++currentFrame;
currentFrame %= numFrames;
lastDisplay = time;
}
} while (true);
}
class MenuItemHandler implements ActionListener, ItemListener {
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
if(s=="Exit"){
System.exit(0);
}
}
public void itemStateChanged(ItemEvent e){
}
}
//Kelas yang digunakan agar tombol close pada frame bisa berfungsi
class WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
Output program :
ANIMASI DENGAN GRAFIK
Untuk
membuat animasi dengan grafik, maka terlebih dahulu kita harus
menyiapkan gambar-gambar atau yang sejenisnya agar kita dapat
menyatukannya
dengan mudah. Untuk contoh kali ini, penulis
menggunakan empat buah gambar yang akan disatukan untuk mendapatkan
animasi gambar manusia yang bergerak.
Gambar 1 :
stickman1.gif
Gambar 2 :
stickman2.gif
Gambar 3 :
stickman3.gif
Gambar 4 :
stickman4.gif
4
Tips & Trik IlmuKomputer.Com
Copyright © 2005 IlmuKomputer.Com
Kode Program :
//*********************************
//Nama File : animasiGrafik.java
//*********************************
//Animasi di Java
//Untuk menampilkan animasi manusia
//File gambar stickman1.gif, dst
//disimpan satu direktori dengan
//animasiGrafik.java
//*********************************
import java.awt.*;
import java.awt.event.*;
public class animasiGrafik extends Frame implements Runnable {
Thread animation;
int frameDelay = 100;
Image frames[];
int numFrames;
int currentFrame = 0;
long lastDisplay = 0;
int screenWidth = 400;
int screenHeight = 400;
public static void main(String args[]) {
animasiGrafik app = new animasiGrafik ();
}
public animasiGrafik () {
super("Animasi Grafik");
setup();
setSize(screenWidth,screenHeight);
addWindowListener(new WindowEventHandler());
show();
animation = new Thread(this);
animation.start();
}
void setup() {
setupMenuBar();
setFont(new Font("default",Font.BOLD,18));
Toolkit toolkit = getToolkit();
frames = new Image[4];
// objek yang akan ditampilkan
frames[0] = toolkit.getImage("stickman1.gif");
frames[1] = toolkit.getImage("stickman2.gif");
frames[2] = toolkit.getImage("stickman3.gif");
frames[3] = toolkit.getImage("stickman4.gif");
numFrames = frames.length;
}
void setupMenuBar() {
MenuBar menuBar = new MenuBar();
Menu fileMenu = new Menu("File");
MenuItem fileExit = new MenuItem("Exit");
fileExit.addActionListener(new MenuItemHandler());
fileMenu.add(fileExit);
menuBar.add(fileMenu);
setMenuBar(menuBar);
}
public void paint(Graphics g) {
g.drawImage(frames[currentFrame],125,80,this);
}
5
Tips & Trik IlmuKomputer.Com
Copyright © 2005 IlmuKomputer.Com
public void run() {
// Perulangan animasi
do {
long time = System.currentTimeMillis();
if(time - lastDisplay > frameDelay) {
repaint();
try {
Thread.sleep(frameDelay);
}catch(InterruptedException ex){
}
++currentFrame;
currentFrame %= numFrames;
lastDisplay = time;
}
} while (true);
}
class MenuItemHandler implements ActionListener, ItemListener {
public void actionPerformed(ActionEvent ev){
String s=ev.getActionCommand();
if(s=="Exit"){
System.exit(0);
}
}
public void itemStateChanged(ItemEvent e){
}
}
//Kelas yang digunakan agar tombol close pada frame bisa berfungsi
class WindowEventHandler extends WindowAdapter {
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
}
Tutorial JavaSE, JavaME, JavaEE, Android, Netbeans, Eclipse, Mysql Bahasa Indonesia
Artikel Lainnya
- Cara Lengkap Menggunakan IReport di Netbeans
- Penggunaan Timer Pada Java Netbeans
- Cara Mengetahui Scroll Mouse Pada Java
- Cara memanggil JFrame dan JDialog serta perbedaan antara keduanya
- Kondisi menggunakan percabangan IF
- Koneksi Java Netbeans Dengan Database MySql
- Tools Untuk Membuat Aplikasi Android Secara Cepat
- Membatasi Jumlah Input Karakter Pada JTextField
- Cara Menambahkan Plugin IReport Pada Netbeans
- Connection Polling dalam Aplikasi Website Java Menggunakan GlassFish dan Netbeans
- Tutorial Menginstal Maven Integration pada Eclipse JavaEE
- Membuat Enkripsi Untuk Pengamanan Data Di Java Netbeans
- Cara Membuat Angka Random Pada Java
- Cara Mengetahui Jumlah Data Pada Array di Java
- Cara Penggunaan method substring
- Java Date and Time
- Mengenal Lebih Jauh Method Pada Java
- Menggunakan Type Data BLOB di JavaEE
- Tutorial Membuat Halaman Wizard Menggunakan JSF dan CDI
- Cara Mudah Membuat Aplikasi Android Tanpa Coding
- Cara Menyimpan Gambar Ke Database Dan Menampilkannya
- Penggunaan dan Perbedaan Modifier Pada Java
- Cara Menghitung Selisih Tanggal atau Hari di Java Netbeans
- Cara Membuat Method/Fungsi Overloading Pada Java
- Tutorial Lengkap Cara Menginstal Java Netbeans Di Linux
- Multi Line Text Pada JLabel
- Aplikasi Sistem Informasi Perpustakaan Berbasis Java
- Membuat Aplikasi Client Server Chating Menggunakan Java
- Aplikasi Database Sederhana Dengan Java Netbeans MySql
- Tutorial Cara Membuat JAX-WS menggunakan Eclipse, CXF dan Glassfish V3
- Mendapatkan Data Cell JTable
- Penjelasan Rinci Class Pada Java
- Cara Mudah Settings Classpath Java Di D Windows
- Tutorial Cara Menggunakan JRadioButton
- Cara Agar JFrame Form Tampil Di Tengah Layar Monitor Saat Running
- Sistem Informasi Rental Kendaraan Bermotor dengan Java
- Apa itu FileInputStream Dan Cara Menggunakannya
- Cara Membuat Gambar Bergerak Menggunakan Java
- Java MySQL JDBC Tutorial using NetBeans Part 1
- Membuat Virus Usil Menggunakan Java
- Contoh Lengkap Program Array Pada Java
- Cara Mudah Menampilkan Gambar Di Java Netbeans
- Fungsi Dan Kegunaan Java Virtual Machime (JVM)
- Cara Mudah Membuat Form Input Java Netbeans
- Java MySQL JDBC Tutorial using NetBeans Part 2
- Tips dan Trik Membuat Aplikasi Sistem Informasi Dengan Cepat
- Menampilkan Data JTable Ke JTexfield
- Contoh Penggunaan Mouse Event Pada Java
- Java, Error Menjalankan / Membuka Laporan IReport
- Tutorial Java