Sprite Setiap objek dalam game yang memiliki gambar dan karakteristik.

Slides:



Advertisements
Presentasi serupa
Menggambarkan Data: Tabel Frekuensi, Distribusi Frekuensi, dan Presentasi Grafis Chapter 2.
Advertisements

Kapasitor dan Dielektrik
Dasar dasar GUI programming di Java
MS. POWER POINT 2007 Kelas XII Semester 2
Array.
+ Pemrograman Javascript Teknik Informatika Universitas Bunda Mulia Jakarta Chandra Hermawan H., M.Kom., MM.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Algoritma & Pemrograman #10
Array Multidimensi MATRIK.
Association Rule B y : E ka P raja W iyata M andala Universitas Putra Indonesia YPTK Padang Fakulas Ilmu Komputer Program Studi Teknik Informatika.
MELAKUKAN INSTALASI SISTEM OPERASI WINDOWS XP
FAST TRACK TO WEALTH! WHO WE ARE GlobeFame Network is the first of an exciting new breed of network marketing companies. We've.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Static Routing Routing Protocols and Concepts.
Memulai Drive Test menggunakan TEMS Investigation 6.1.4
Database Recovery Department of Computers Science Faculity Mathematics and Natural Science University of Pakuan Bogor 2011.
Nama PerangkatSpesifikasi Internet ProcessorPentium lll 500 Hz PAM (Random Access Memory)64 MB Harddisk10 GB VGA card4 MB MonitorTidak.
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES Memotong dan menempel (CUT & PASTE) Pilih sel yang sesuai. Lakukan 'Cut' (Potong) pada.
Pemrograman Visual. Pernyataan IF…THEN…ELSE Pernyataan ini hanya memeriksa apakah suatu blok kode program dapat dieksekusi atau tidak. Jika kondisi pernyataan.
Pemrograman Berorientasi Objek
Quick Start Secure M-401.
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
PENGENALAN PL/SQL.
Ilmu Komputer, FMIPA UGM
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A4: Bahasa Rakitan AVR Conditional & Branch Instructions 21 Maret 2003 Bobby Nazief
Internal dan Eksternal Sorting
Sorting.
Pengantar/pengenalan (Introduction)
Interface Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Bilqis1 Pertemuan bilqis2 Sequences and Summations Deret (urutan) dan Penjumlahan.
Lily Puspa Dewi1 PPA Pertemuan ke – 2 Site Management Chapter 3 & 4.
Agung Toto Wibowo Materi tutorial diambil dari wiki Ogre :
Agung Toto Wibowo Materi tutorial diambil dari wiki Ogre :
JAVA CLASS Bahasa Pemrogramam BAHASA PEMROGRAMAN PERTEMUAN #9.
Menggunakan OLE Drag-Drop
Menggunakan Drag-Drop
Implementing an REA Model in a Relational Database
NoObjekPropertiNilai 1FrmsegitigaNameFrmsegiitiga 2FrmsegitigaCaptionLuas Segi Tiga MDI ( Multiple Document Interface ) Pendahuluan MDI singkatan dari.
Array.
Praktikum 9 Pemrograman Berbasis Obyek
Array
Switch. Perluasan dari bridge Arsitektur switch: – Store and forward.
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES 3. MERAPIKAN DATA.
Slide 1 QUIS Langkah pertama caranya Buat di slide pertama judul Slide kedua soal Slide ketiga waktu habis Slide keempat jawaban yang benar Slide kelima.
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES Selamat Mencoba......
TRAVERSING BINARY TREE
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES Excel tingkat menengah – Bagan (lanjutan) Location Date Name.
PENGAMBILAN KEPUTUSAN. 3. Operator Logika TandaKeterangan && Logika DAN  AND I I Logika ATAU  OR ! Negasi (lawan) Logika AND  True AND True = True.
Lecture 1 Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
PEMROGRAMAN PPBD (UAS) SEBELUM MELANGKAH KE TAHAP SELANJUTNYA BERDOA DULU BIAR LANCAR DAN GA EROR
Linked List dan Double Linked List
Metering Nol memerintahkan kamera utk melihat, sedekat mungkin dengan seperti mata kita melihatnya Eny Erawati, S.Sn.
Macromedia Flash Pro 8.:: Fundamentals Workshop
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Oleh Tita Karlita.
SUMBER CLOCK AVR UNIVERSITAS JENDERAL ACHMAD YANI RIZAL SURYANA.
Web Teknologi 3 (MKB721C) Minggu 1 2 Page 1 MINGGU 12 Web Teknologi 3 (MKB721C) Pokok Bahasan: – Game API Tujuan Instruksional Khusus: –Siswa memahami.
Paging datagridview VB.Net
Pengantar TI (MKK103S) Minggu 3 Page 1 MINGGU 3 Pengantar TI (MKK103S) Agenda 1.Logical nested if 2.Format currency rupiah 3.Fungsi left, right & mid.
Via Octaria Malau Transfer (Internal Transfers) Transfer (Transfers Internal) Select the account from which funds are to be transferred FROM and then select.
Kelas Dasar HTML Dasar SMK Al-Muhajirin Sabtu, 29 November 2014.
Double Linked List. © 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Double Linked List Sama seperti single linked list, double.
Web Teknologi 3 (MKB721C) Minggu 11 Page 1 MINGGU 11 Web Teknologi 3 (MKB721C) Pokok Bahasan: –Canvas lanjutan Tujuan Instruksional Khusus: –Siswa memahami.
ASSALAMU’ALAIKUM Wr.Wb I will be presenting on how to make ice cream (Assalamu'alaikum Wr.Wb Saya akan menyajikan tentang cara untuk membuat es krim) Name:M.
Person 19 || Marty Rori 1. Apa yang Buruk Tentang Menggunakan? Vairables global? 2 tidak aman!  Jika dua atau lebih programmer bekerja sama dalam program,
DANDC wijanarto.
FISIKA DASAR By: Mohammad Faizun, S.T., M.Eng. Head of Manufacture System Laboratory Mechanical Engineering Department Universitas Islam Indonesia.
MEMBUAT DATABASE LEWAT KODE PROGRAM
AUSTRALIA INDONESIA PARTNERSHIP FOR EMERGING INFECTIOUS DISEASES PELATIHAN EXCEL DASAR.
MICROSOFT EXCEL 2000 Bagian #4 GRAPHICS : OBJECT & CHART.
PELATIHAN JAVA FUNDAMENTAL
Transcript presentasi:

Sprite Setiap objek dalam game yang memiliki gambar dan karakteristik. Anda dapat membayangkan sprite sebagai suatu gambar yang terletak di suatu tempat di layar, yang mana gambar tersebut dapat bergerak, beranimasi, dan memiliki karakteristiknya masing-masing.

Jenis Sprite Sprite Kelas ini adalah dasar dari semua sprite Animated Sprite Digunakan untuk animasi Advanced Sprite Sprite ini memiliki animasi, status dan arah Volatile Sprite Sprite yang beranimasi, kemudian ketika animasi sudah selesai maka akan menghilang

Sprite Adalah objek dalam game yang tampak secara grafik dan memiliki perilaku. Setiap sprite terletak pada suatu lokasi di background, Set Lokasi : setLocation(double, double). Menggerakkan : move(double,double). Kecepatan : setSpeed(double,double)

Animated Sprite Adalah sebuah sprite yang menggunakan banyak gambar untuk membuat tampilan animasi. Animated Sprite digunakan untuk membuat animasi sederhana, tidak ada pengendalian terhadap arah dan perilaku. Contoh : AnimatedSprite sprite; // animasi dari gambar 1 ke gambar 3 sprite.setAnimationFrame(0, 2); sprite.setAnimate(true); Note: Jika start frame dan finish frame sama, maka tidak ada animasi yang terjadi

Advanced Sprite Adalah sprite untuk menciptakan animasi yang didalamnya juga terdapat informasi mengenai arah/direction dan behaviour/tingkah/status laku. Ex set status : public static final int WALKING=1 advancedSprite.setStatus(WALKING); Ex set direction : public static final int NORTH=1 advancedSprite.setDirection(NORTH);

Game Background Sebuah kelas untuk membuat background seperti ketika kita menyusun lantai Ex : Anda memiliki gambar ukuran 64x64, dengan kelas ini anda dapat mengisi area seluas 1024x768 atau sesuai selera anda.

GameBackground.java public GameBackground() { //inisialisasi background, terdiri dari //20 petak horisontal, 20 petak vertikal //setiap petak ukurannya 64x64 Super(20, 20, 64, 64); //load image gambar rumput image = ImageUtil.getImage(getClass().getResource("/teknogame2/image/big grasstile64.png")); }

Override Method RenderTile public void renderTile(Graphics2D g, int tileX, int tileY, int x, int y) { // lakukan proses penggambaran image pada x dan y g.drawImage(image, x, y, null); }

FirstGame.java //sprite yang punya arah dan status private AdvanceSprite advanceSprite; //array gambar orang jalan private BufferedImage[] walkingImages; //array gambar orang menyerang private BufferedImage[] attackImages; //Konstanta aksi private final int WALKING = 0; private final int ATTACK = 1; //konstanta arah HORISONTAL dan VERTIKAL private final int EAST = 0; private final int WEST = 1; private final int SOUTH = 2; private final int NORTH = 3; //konstanta arah diagonal private final int SOUTH_EAST = 4; //Objek untuk membuat background private GameBackground background;

Method Init Resources public void initResources() { background=new GameBackground(); walkingImages = bsLoader.getImages("teknogame2/image/walking8x8.png", 8, 8, true); attackImages = bsLoader.getImages("teknogame2/image/attack13x8.png", 13, 8, true); advanceSprite = new AdvanceSprite(walkingImages, 10, 10); advanceSprite.getAnimationTimer().setDelay(75); }

Method Update I //Keluar game apabila tombol ESC ditekan if (keyDown(KeyEvent.VK_ESCAPE)) { System.exit(0); } //cek, apakah ada tombol yang ditekan atau tidak //bila tidak hentikan animasi if (bsInput.getKeyPressed() == bsInput.NO_KEY) { if (advanceSprite.isAnimate()) { advanceSprite.setAnimate(false); //menentukan apakah jalan atau menyerang if (keyDown(KeyEvent.VK_RIGHT) || keyDown(KeyEvent.VK_LEFT) || keyDown(KeyEvent.VK_DOWN) || keyDown(KeyEvent.VK_UP)) { if (advanceSprite.getStatus() == ATTACK) { advanceSprite.setImages(walkingImages); advanceSprite.setStatus(WALKING); } else if (keyDown(KeyEvent.VK_SPACE)) { if (advanceSprite.getStatus() == WALKING) { advanceSprite.setImages(attackImages); advanceSprite.setStatus(ATTACK);

Method Update II if (advanceSprite.getStatus() == WALKING) { //membuat animasi arah diagonal if (keyDown(KeyEvent.VK_RIGHT) && keyDown(KeyEvent.VK_DOWN)) { if (!advanceSprite.isLoopAnim()) { advanceSprite.setAnimationFrame(40, 47); advanceSprite.setAnimate(true); } advanceSprite.setDirection(SOUTH_EAST); advanceSprite.moveTo(elapsedTime, advanceSprite.getX() + 1, advanceSprite.getY() + 1, 0.1); } //membuat animasi arah horisontal atau vertikal else if (keyDown(KeyEvent.VK_RIGHT)) { advanceSprite.setAnimationFrame(0, 7); advanceSprite.setDirection(EAST); advanceSprite.moveTo(elapsedTime, advanceSprite.getX() + 1, advanceSprite.getY(), 0.1);

Method update III } else if (advanceSprite.getStatus() == ATTACK) { if (keyDown(KeyEvent.VK_SPACE)) { if (advanceSprite.getDirection() == EAST) { advanceSprite.setAnimationFrame(0, 12); advanceSprite.setAnimate(true); } else if (advanceSprite.getDirection() == WEST) { advanceSprite.setAnimationFrame(91, 103); } else if (advanceSprite.getDirection() == NORTH) { advanceSprite.setAnimationFrame(13, 25); } else if (advanceSprite.getDirection() == SOUTH) { advanceSprite.setAnimationFrame(52, 64); } advanceSprite.update(elapsedTime);

Method Render public void render(Graphics2D g) { g.setColor(Color.GREEN); g.fillRect(0, 0, getWidth(), getHeight()); background.render(g); advanceSprite.render(g); }