Iklan Sistem Informasi Universitas Respati Indonesia (URINDO) Jakarta Timur

Iklan Sistem Informasi Universitas Respati Indonesia (URINDO) Jakarta Timur
Iklan Sistem Informasi Universitas Respati Indonesia (URINDO) Jakarta Timur

Source Code Program Java Animasi Frame Bitmap

Saya bagikan source code bahasa pemrograman Java yang diperoleh dari internet yang menganimasikan gambar-gambar bitmap (1 pose 1 file).

import java.awt.geom.AffineTransform;
import javax.imageio.ImageIO;
import java.net.URL;
import java.awt.*;
import javax.swing.*;
import java.io.*;

public class AnimatedFramesDemo extends JPanel {
   static final int CANVAS_WIDTH = 640;
   static final int CANVAS_HEIGHT = 480;
   public static final String TITLE = "Animated Frame Demo";
 
   private String[] imgFilenames = {
         "images/pacman_1.png", "images/pacman_2.png", "images/pacman_3.png"};
   private Image[] imgFrames;
   private int currentFrame = 0;
   private int frameRate = 5;
   private int imgWidth, imgHeight;
   private double x = 100.0, y = 80.0;
   private double speed = 8;          
   private double direction = 0;      
   private double rotationSpeed = 1;  
   private AffineTransform transform = new AffineTransform();
 
   public AnimatedFramesDemo() {
      loadImages(imgFilenames);
      Thread animationThread = new Thread () {
         public void run() {
            while (true) {
               update();
               repaint();
               try {
                  Thread.sleep(1000 / frameRate);
               } catch (InterruptedException ex) { }
            }
         }
      };
      animationThread.start();
      setPreferredSize(new Dimension(CANVAS_WIDTH, CANVAS_HEIGHT));
   }
 
   private void loadImages(String[] imgFileNames) {
      int numFrames = imgFileNames.length;
      imgFrames = new Image[numFrames];  
      URL imgUrl = null;
      for (int i = 0; i < numFrames; ++i) {
         imgUrl = getClass().getClassLoader().getResource(imgFileNames[i]);
         if (imgUrl == null) {
            System.err.println("Couldn't find file: " + imgFileNames[i]);
         } else {
            try {
               imgFrames[i] = ImageIO.read(imgUrl); 
            } catch (IOException ex) {
               ex.printStackTrace();
            }
         }
      }
      imgWidth = imgFrames[0].getWidth(null);
      imgHeight = imgFrames[0].getHeight(null);
   }
 
   public void update() {
      x += speed * Math.cos(Math.toRadians(direction));
      if (x >= CANVAS_WIDTH) {
         x -= CANVAS_WIDTH;
      } else if (x < 0) {
         x += CANVAS_WIDTH;
      }
      y += speed * Math.sin(Math.toRadians(direction));
      if (y >= CANVAS_HEIGHT) {
         y -= CANVAS_HEIGHT;
      } else if (y < 0) {
         y += CANVAS_HEIGHT;
      }
      direction += rotationSpeed;  
      if (direction >= 360) {
         direction -= 360;
      } else if (direction < 0) {
         direction += 360;
      }
      ++currentFrame; 
      if (currentFrame >= imgFrames.length) {
         currentFrame = 0;
      }
   }
 
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      setBackground(Color.WHITE);
      Graphics2D g2d = (Graphics2D) g;
      transform.setToIdentity();
      transform.translate(x - imgWidth / 2, y - imgHeight / 2);
      transform.rotate(Math.toRadians(direction),
            imgWidth / 2, imgHeight / 2);
      g2d.drawImage(imgFrames[currentFrame], transform, null);
   }
 
   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            JFrame frame = new JFrame(TITLE);
            frame.setContentPane(new AnimatedFramesDemo());
            frame.pack();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
         }
      });
   }
}

Berikut ini file-file bitmap yang digunakan progam tersebut :



 [[ file tugas unduh di sini ]] selamat mengerjakan. Mata Kuliah Pemrograman Game, Kampus Universitas Respati Indonesia Jakarta Timur.

Tugas Sistem Manajemen Basis Data Sesi 8 #20161126

Unduh database Northwind untuk MySQL terlebih dahulu, untuk mengerjakan tugas. [[ Unduh database Northwind MySQL ]].

Buatlah rangkuman daftar fungsi-fungsi yang ada di MySQL, beserta penjelasan singkat, disertai dengan contoh-contoh penggunaan masing-masing fungsi pada database Northwind. Setelah itu publikasikan di blog masing-masing. Kirimkan alamat blog masing-masing ke alamat e-mail tugasilmubiner@gmail.com paling lambat hari Jumat minggu depan.

Source Code Balon (Bakal Calon) Game Balap Mobil

Berikut source code program Java untuk bakal calon game balap mobil.

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

public class AnimasiGrafik extends JFrame {
    final int LEBAR = 900, TINGGI = 650;
    double kecepatan = .5;
    final int UP = 0, RIGHT = 1, DOWN = 2, LEFT = 3;
    int arah = UP;

    //menentukan koordinat kotak area hijau sekeliling window
    Rectangle kiri = new Rectangle(0, 0, LEBAR / 9, TINGGI);
    Rectangle kanan = new Rectangle((LEBAR / 9) * 8, 0, LEBAR / 9, TINGGI);
    Rectangle atas = new Rectangle(0, 0, LEBAR, TINGGI / 9);
    Rectangle bawah = new Rectangle(0, (TINGGI / 9) * 8, LEBAR, TINGGI / 9);
    Rectangle tengah = new Rectangle((int) ((LEBAR / 9) * 2.5), 
                                     (int) ((TINGGI / 9) * 2.5),
                                     (int) ((LEBAR / 9) * 5), (TINGGI / 9) * 4);

    //menentukan koordinat kotak penghalang
    Rectangle rintangan1 = new Rectangle(LEBAR / 2, (int) ((TINGGI / 9) * 7), 
                                         LEBAR / 10, TINGGI / 9);
    Rectangle rintangan2 = new Rectangle(LEBAR / 3, (int) ((TINGGI / 9) * 5), 
                                         LEBAR / 10, TINGGI / 4);
    Rectangle rintangan3 = new Rectangle(2 * (LEBAR / 3),
                                         (int) ((TINGGI / 9) * 5), 
                                         LEBAR / 10, TINGGI / 4);
    Rectangle rintangan4 = new Rectangle(LEBAR / 3, TINGGI / 9, 
                                         LEBAR / 30, TINGGI / 9);
    Rectangle rintangan5 = new Rectangle(LEBAR / 2, (int) ((TINGGI / 9) * 1.5), 
                                         LEBAR / 30, TINGGI / 4);
    Rectangle finish = new Rectangle(LEBAR / 9, (TINGGI / 2) - TINGGI / 9, 
                                     (int) ((LEBAR / 9) * 1.5), TINGGI / 70);
    Rectangle pemain1 = new Rectangle(LEBAR / 9, TINGGI / 2, LEBAR / 30, 
                                      LEBAR / 30);

    public AnimasiGrafik() {
        super("Balap Mobil Kotak");
        setSize(LEBAR, TINGGI);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

        GerakPemain1 m1 = new GerakPemain1();
        m1.start();
    }
    
    public void paint(Graphics g) {
        super.paint(g);
        //gambar kotak latar
        g.setColor(Color.DARK_GRAY);
        g.fillRect(0, 0, LEBAR, TINGGI);
        //gambar garis
        g.setColor(Color.GREEN);
        Rectangle lineO = new Rectangle(LEBAR / 9, TINGGI / 2, 
                                        (int) ((LEBAR / 9) * 1.5) / 2, 
                                        TINGGI / 140);
        Rectangle lineI = new Rectangle(((LEBAR / 9) + 
                                        ((int) ((LEBAR / 9) * 1.5) / 2)),
                                        (TINGGI / 2) + (TINGGI / 10), 
                                        (int) ((LEBAR / 9) * 1.5) / 2, 
                                        TINGGI / 140);

        g.fillRect(kiri.x, kiri.y, kiri.width, kiri.height);
        g.fillRect(kanan.x, kanan.y, kanan.width, kanan.height);
        g.fillRect(atas.x, atas.y, atas.width, atas.height);
        g.fillRect(bawah.x, bawah.y, bawah.width, bawah.height);
        g.fillRect(tengah.x, tengah.y, tengah.width, tengah.height);
        g.fillRect(rintangan1.x, rintangan1.y, rintangan1.width, 
                   rintangan1.height);
        g.fillRect(rintangan2.x, rintangan2.y, rintangan2.width, 
                   rintangan2.height);
        g.fillRect(rintangan3.x, rintangan3.y, rintangan3.width, 
                   rintangan3.height);
        g.fillRect(rintangan4.x, rintangan4.y, rintangan3.width, 
                   rintangan4.height);
        g.fillRect(rintangan5.x, rintangan5.y, rintangan5.width, 
                   rintangan5.height);

        //gambar garis start
        g.setColor(Color.WHITE);
        g.fillRect(lineO.x, lineO.y, lineO.width, lineO.height);
        g.fillRect(lineI.x, lineI.y, lineI.width, lineI.height);

        //gambar garis finish
        g.setColor(Color.YELLOW);
        g.fillRect(finish.x, finish.y, finish.width, finish.height);

        //gambar mobil
        g.setColor(Color.BLUE);
        g.fill3DRect(pemain1.x, pemain1.y, pemain1.width, pemain1.height, true);
    }

    private class GerakPemain1 extends Thread implements KeyListener {
        public void run() {
            addKeyListener(this);
            while (true) {
                try {
                    repaint();
                    if (pemain1.intersects(kiri)
                        || pemain1.intersects(kanan)
                        || pemain1.intersects(atas)
                        || pemain1.intersects(bawah)
                        || pemain1.intersects(rintangan1)
                        || pemain1.intersects(rintangan2)
                        || pemain1.intersects(rintangan4) 
                        || pemain1.intersects(rintangan5)) {
                        kecepatan = -4;
                    }

                    if (pemain1.intersects(tengah)) {
                        kecepatan = -2.5;
                    }

                    if (kecepatan <= 5) {
                        kecepatan += .2;
                    }

                    if (arah == UP) {
                        pemain1.y -= (int) kecepatan;
                    }

                    if (arah == DOWN) {
                        pemain1.y += (int) kecepatan;
                    }

                    if (arah == LEFT) {
                        pemain1.x -= (int) kecepatan;
                    }

                    if (arah == RIGHT) {
                        pemain1.x += (int) kecepatan;
                    }

                    Thread.sleep(75);
                } catch (Exception e) {
                    break;
                }
            }
        }

        public void keyPressed(KeyEvent event) {
        }

        public void keyReleased(KeyEvent event) {
        }

        public void keyTyped(KeyEvent event) {
            if (event.getKeyChar() == 'a') {
                arah = LEFT;
            }
            if (event.getKeyChar() == 's') {
                arah = DOWN;
            }
            if (event.getKeyChar() == 'd') {
                arah = RIGHT;
            }
            if (event.getKeyChar() == 'w') {
                arah = UP;
            }
        }
    }

    public static void main(String[] args) {
        new AnimasiGrafik();
    }
}

Tugas Mata Kuliah Pemrograman Grafis Sesi 6 #20161009

Berikut tugas mata kuliah Pemrograman Grafis buat mahasiswa Fakultas Teknologi Informasi, Universitas Respati Indonesia (URINDO), Kampus A Bambu Apus, Jakarta Timur.

Buatlah program untuk menggambar seperti berikut ini (klik gambar untuk memperbesar) :

Tugas dikumpulkan sebelum batas waktu yang telah ditentukan, yaitu sehari sebelum hari kuliah mata kuliah ini. Selamat mengerjakan!