Modul java animasi
Upcoming SlideShare
Loading in...5
×
 

Modul java animasi

on

  • 186 views

Modul java animasi

Modul java animasi

Statistics

Views

Total Views
186
Views on SlideShare
186
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modul java animasi Modul java animasi Presentation Transcript

  • Modul 10: Animasi
  •  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:
  • 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. } }
  • 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
  • /* 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; }
  • public void run() { setBackground(Color.blue); while (true) { /* bergerak ke kanan */ for (xpos = 5; xpos <= 105; xpos+=4) { ux2 = xpos + 90; repaint(); try { Thread.sleep(100); } catch (InterruptedException e) { } if (ux1 == 0) ux1 = xpos; } /* bergerak ke kiri */ for (xpos = 105; xpos > 5; xpos -=4) { ux1 = xpos; repaint(); try { Thread.sleep(100); } catch (InterruptedException e) { } if (ux2 == 0) ux2 = xpos + 90; } } }
  • 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; } }
  •  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
  • /* 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;
  • 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<100; idx++) {
  • // panggil fungsi untuk menggerakkan kucing ke kanan hingga tengah nekorun(0, this.size().width / 2); // stop and pause, kucing berhenti currentimg = nekopics[2]; repaint(); pause(100); // yawn, mengantuk currentimg = nekopics[3]; repaint(); pause(1000); // scratch four times, menggaruk nekoscratch(4); // sleep for 5 seconds, tidur nekosleep(5);
  • // wake up and run off, bangun dan lari lagi currentimg = nekopics[8]; repaint(); pause(500); nekorun(xpos, this.size().width + 10); } } // fungsi untuk menggerakkan kucing ke kanan void nekorun(int start, int end) { for (int i = start; i < end; i+=10) { this.xpos = i; // swap images if (currentimg == nekopics[0]) currentimg = nekopics[1]; else if (currentimg == nekopics[1]) currentimg = nekopics[0]; else currentimg = nekopics[0]; repaint(); pause(150); } }
  • // fungsi yang menampilkan kucing menggaruk void nekoscratch(int numtimes) { for (int i = numtimes; i > 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); } }
  • void pause(int time) { try { Thread.sleep(time); } catch (InterruptedException e) { } } public void paint(Graphics g) { g.drawImage(currentimg, xpos, ypos,this); } }
  • 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
  •  Contoh 4: animasi pixel, nilai integer dari pixel dibaca secara acak, kemudian ditampilkan kembali dengan menggunakan rutin animasi  AnimasiPixel.java  AnimasiPixel.html