Modul java animasi

download Modul java animasi

of 16

  • date post

    13-Jun-2015
  • Category

    Internet

  • view

    559
  • download

    10

Embed Size (px)

description

Modul java animasi

Transcript of Modul java animasi

  • 1. Modul 10: Animasi

2. Program Animasi adalah program yang menggambar serangkaian bentuk pada lokasi atau posisi yang ber-urutan. Pada bahasa Java, program animasi adalah program Applet dengan susunan sebagai berikut: 3. import java.applet.*; import java.awt.*; public class nama_applet extends Applet implements Runnable { Thread runner; // definisikan variabel-variable disini int xpos; public void start() { // definisikan fungsi start() if (runner == null) { runner = new Thread(this); runner.start(); } } public void stop() { // definisikan fungsi stop() if (runner != null) { runner.stop(); runner = null; } } // definisikan fungsi run() // apa yang akan ditampilkan sebagai animasi di-tulis disini public void run() { ........................................... .......................................... } // definisikan bentuk, teks, atau gambar disini public void paint (Graphics g) { // warna latar belakang dengan g.setColor() // bentuk font dengan g.setFont() // gambar bentuk dengan g.fillRect(), g.fillOval() dsb. } } 4. Contoh-1 : animasi lingkaran yang bergerak, pada program ini sebuah lingkaran warna merah dibentuk (digambar) pada posisi berbeda namun berdekatan, dengan latar belakang warna putih dan hitam sehingga efek bergerak dari kiri ke kanan dan sebaliknya, tampak jelas. animasi.java animasi.html 5. /* Program Animasi */ import java.awt.Graphics; import java.awt.Color; public class Animasi extends java.applet.Applet implements Runnable { Thread runner; int xpos; int ux1,ux2; public void start() { if (runner == null); { runner = new Thread(this); runner.start(); } } public void stop() { if (runner != null) { runner.stop(); runner = null; } 6. public void run() { setBackground(Color.blue); while (true) { /* bergerak ke kanan */ for (xpos = 5; xpos 5; xpos -=4) { ux1 = xpos; repaint(); try { Thread.sleep(100); } catch (InterruptedException e) { } if (ux2 == 0) ux2 = xpos + 90; } } } 7. public void update(Graphics g) { g.clipRect(ux1, 5, ux2 - ux1, 95); paint(g); } public void paint(Graphics g) { // Draw black background g.setColor(Color.black); g.fillRect(0,0,100,100); // Draw white background g.setColor(Color.white); g.fillRect(100,0,100,100); // Draw checker / red circle g.setColor(Color.red); g.fillOval(xpos,5,90,90); // reset the drawing area ux1 = ux2 = 0; } } 8. Contoh-2 : Animasi gerak dari serentetan gambar kucing, pada program ini akan ditampilkan 9 macam gambar kucing, gambar 1,2 digunakan untuk effek berlari dari kiri ke kanan, gambar 3,4 untuk efek istirahat, gambar 5,6 untuk effek menggaruk, gambar 7,8 untuk effek tidur, dan gambar 9 untuk effek terbangun kaget. Neko.java Neko.html 9. /* Program Animasi gambar kucing - (Neko=kucing dalam bahasa Jepang) */ import java.awt.Graphics; import java.awt.Image; import java.awt.Color; import java.applet.*; public class Neko extends Applet implements Runnable { /* nama-nama gambar dimasukkan dalam satu verktor */ Image nekopics[] = new Image[9]; String nekosrc[] = { "right1.gif", "right2.gif", "stop.gif", "yawn.gif", "scratch1.gif", "scratch2.gif", "sleep1.gif", "sleep2.gif", "awake.gif" }; Image currentimg; Thread runner; int xpos; int ypos = 50; 10. public void start() { if (runner == null) { runner = new Thread(this); runner.start(); } } public void stop() { if (runner != null) { runner.stop(); runner = null; } } public void run() { // initialize, file-file gambar berada dibawah direktori "images/" for (int i=0; i < nekopics.length; i++) { nekopics[i] = getImage(getCodeBase(), "images/" + nekosrc[i]); } // warna latar belakang adalah putih setBackground(Color.white); // lakukan animasi hingga 100 kali for (int idx=0; idx 0; i--) { currentimg = nekopics[4]; repaint(); pause(150); currentimg = nekopics[5]; repaint(); pause(150); } } // fungsi untuk menampilkan kucing tidur void nekosleep(int numtimes) { for (int i = numtimes; i > 0; i--) { currentimg = nekopics[6]; repaint(); pause(250); currentimg = nekopics[7]; repaint(); pause(250); } } 14. void pause(int time) { try { Thread.sleep(time); } catch (InterruptedException e) { } } public void paint(Graphics g) { g.drawImage(currentimg, xpos, ypos,this); } } 15. Contoh-3 : Animasi Teks, pada program ini sebuah kalimat (teks) yang dimasukkan melalui parameter HTML, akan ditampilkan dengan efek gerak dari kanan ke kiri. Ticker4.java Ticker4.html 16. Contoh 4: animasi pixel, nilai integer dari pixel dibaca secara acak, kemudian ditampilkan kembali dengan menggunakan rutin animasi AnimasiPixel.java AnimasiPixel.html