Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Interaksi Obyek Pemrograman Game Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012.

Presentasi serupa


Presentasi berjudul: "Interaksi Obyek Pemrograman Game Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012."— Transcript presentasi:

1 Interaksi Obyek Pemrograman Game Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012

2 Tabrakan Obyek Skenario: Peluru yang ditembakkan, ketika mengenai obyek yang lain (misal: tikus), maka tikus akan mati, dan skor ditambah. Algoritma solusi: ◦ if (we have collided with a gun) { ◦ remove the mouse from the world; ◦ show an explosion; //Optional ◦ show final score (game over); ◦ } 2

3 3 Class Actor protected List getIntersectingObjects (Class cls)  Return all the objects that intersect this object. protected Actor getOneIntersectingObject (Class cls)  Return an object that intersects this object. protected List getObjectsInRange(int r, Class cls)  Return all objects within range 'r' around this object. Catatan: Untuk List, harus menambahkan library: import java.util.List; getOneIntersectingObjectgetObjectsInRange

4 Game: Menembak Tikus Skenario: Peluru yang ditembakkan, ketika mengenai obyek yang lain (misal: tikus), maka tikus akan mati, dan skor ditambah. 4

5 5 Kelas Tikus Menggunakan method: protected Actor getOneIntersectingObject (Class cls) import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class Tikus extends Actor { public void act() { // Add your action code here. kenaPeluru(); } public void kenaPeluru() { Peluru p = (Peluru) getOneIntersectingObject(Peluru.class); if (p != null) { Arena a = (Arena) getWorld(); a.updateGambar(); getWorld().addObject(new Tikus(), Greenfoot.getRandomNumber(100) + 400,Greenfoot.getRandomNumber(400)); getWorld().removeObject(this); } Cara 1

6 6 Kelas Peluru import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class Peluru extends Actor { public void act() { // Add your action code here. lihatTikus(); //gerak(); } public void gerak() { setLocation(getX()+4,getY()); if (getX() >= getWorld().getWidth() - 2) { getWorld().removeObject(this); } public void lihatTikus() { Tikus a = (Tikus) getOneIntersectingObject(Tikus.class); if (a != null) { getWorld().removeObject(this); } else { gerak(); } Cara 1

7 7 Menggunakan method: Cara 2 protected List getObjectsInRange(int r, Class cls) Kelas Tikus import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class Tikus extends Actor { public void act() { // Add your action code here. } public void matikan() { Arena a = (Arena) getWorld(); a.updateGambar(); getWorld().addObject(new Tikus(), Greenfoot.getRandomNumber(100) + 400,Greenfoot.getRandomNumber(400)); getWorld().removeObject(this); }

8 8 Kelas Peluru Cara 2 import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.List; public class Peluru extends Actor { public void act() { // Add your action code here. lihatTikus(); gerak(); } public void gerak() { setLocation(getX()+4,getY()); if (getX() >= getWorld().getWidth() - 2) { getWorld().removeObject(this); } public void lihatTikus() { int range = getImage().getWidth() / 2; List tikus = getObjectsInRange(range, Tikus.class); for (Tikus a : tikus) { a.matikan(); }

9 SAATNYA ANDA MEMBUAT GAME Tugas 2 9


Download ppt "Interaksi Obyek Pemrograman Game Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2012."

Presentasi serupa


Iklan oleh Google