III.Modul Praktek 4 1.Buatlah image dengan software desain.
2.Simpan dengan nama file :jalan.png
3. Buat scenario/ projeck baru 4. kopikan file jalan.png ke lokasi folder project anda pada folder image. 5.Buatlah subclass world, beri nama subclass word :latar.Pilih jalan.png sebagai image. Compile.
6.Buatlah sub Actor Pohon,dengan nama subclass actor:pohon.
Tekan ok,compile. 7.Buka editor pada objek pohon buatlah perintah untuk mengerakkan pohon dari kanan ke kiri. Sampai ditepi kiri dihapus.
8.Buka editor pada latar.
8.Buatlah sub actor kelas bangunan,dengan image bangunan.
Ok,kemudian tekan compile.
10.Tambahkan perintah pada subclass actor bangunan, supaya bangunan dapat bergerak dari kanan kekiri, sampai di ujung kiri dihapus. ( kopi perintah yang ada dipohon).
11.Buka script pada subclass world latar, ubah untuk dapat membuat pohon secara acak. mport greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/** * Write a description of class latar here. * * @author (your name) * @version (a version number or a date) */ public class latar extends World { public static int delay_pohon=100; public static int delay_bangunan=50; /** * Constructor for objects of class latar. * */ public latar() { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. super(600, 400, 1); } public void cetak_pohon() { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. if(delay_pohon<100){delay_pohon++;} else {
pohon p=new pohon(); addObject(p, getWidth()-10,Greenfoot.getRandomNumber(100)); delay_pohon=0; }
} public void cetak_bangunan() { int t=0; // Create a new world with 600x400 cells with a cell size of 1x1 pixels. if(delay_bangunan<50){delay_bangunan++;} else { bangunan b=new bangunan(); t=320+Greenfoot.getRandomNumber(80); if(t>320 && t<390){ addObject(b, getWidth()-10,t); } delay_bangunan=0; }
} public void act() { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. cetak_pohon();cetak_bangunan(); } }
12. Tambahkan actor mobil.
13. Buka editor pada subclass actor mobil, supaya bisa digerakan dengan keyboard
14.Tambahkan objek mobil di latar.
-
Control, save the world.
-
Buka editor pada mobil untuk menambahkan script
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class mobil here. * * @author (didik n) * @version (a version number or a date) */ public class mobil extends Actor { /** * Act - do whatever the mobil wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public static int speed_mobil=3; public void jalan(){ if(Greenfoot.isKeyDown("right")){ setLocation(getX()+speed_mobil,getY()); if(getX()>getWorld().getWidth()-10) {setLocation(speed_mobil,getY()); } } if(Greenfoot.isKeyDown("up")){ if(getY()-1<190){ setLocation(getX(),getY()); }else {setLocation(getX(),getY()-1);} } if(Greenfoot.isKeyDown("down")){ if(getY()-1<250){ setLocation(getX(),getY()+1); }else {setLocation(getX(),getY());} }
} public void act() { // Add your action code here. jalan(); } }
20. Tambahkan mobil ke dua
21. ubah script pada latar
..................................... public static int delay_pohon=100; public static int delay_bangunan=50; public static int delay_mobil2=150; ................................ ............................ public void cetak_mobil2() { int t=0; // Create a new world with 600x400 cells with a cell size of 1x1 pixels. if(delay_mobil2<150){delay_mobil2++;} else { mobil2 mb=new mobil2(); t=190+Greenfoot.getRandomNumber(50); if(t>190 && t<250){ addObject(mb, getWidth()-10,t); } delay_mobil2=0; } } public void act() { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. cetak_pohon();cetak_bangunan(); cetak_mobil2(); } /** * Prepare the world for the start of the program. That is: create the initial * objects and add them to the world.
*/ private void prepare() { mobil mobil = new mobil(); addObject(mobil, 67, 200); } } Hasil Run !
IV.Tugas 1.Buatlah suatu game yang mengerakkan beberapa objek yang mengimplementasikan penggunaan : a. Mengerakan objeck dari bawah ke atas,kemudian muncul dari bawah lagi b. Menghapus objeck/actor c. Mengunakan Mouse d. Memunculkan objec/actor secara acak e. Mengakses variabel di subclass world dari subclass actor f. Mengakses methot di subclass world dari subclass actor 2.Buatlah suatu game yang mengerakkan beberapa objek yang mengimplementasikan penggunaan : a. Mengerakan objeck dari bawah ke atas,kemudian muncul dari bawah lagi b. Menghapus objeck/actor c. Mengunakan Objek dengan keyboard d. Memunculkan obje/actor secara acak e. Mengakses variabel di subclass world dari subclass actor f. Mengakses methot di subclass world dari subclass actor
BAB IV TUMBUKAN dan EFFEK
I.TUJUAN a. Menjelaskan bagaimana mendeteksi tumbukan b.Membuat effek tumbukan dengan perubahan image c.Memberi suara effek tumbukkan.
II.MATERI 2.1 Deteksi Tumbukan 2.1.1 getIntersectingObjects(Class cls) Return all the objects that intersect this object. This takes the graphical extent of objects into consideration. Parameter: cls Class of objects to look for (passing 'null' will find all objects). Praktek Contoh Penggunaan :
Diletak di mobil biru Actor a=getOneIntersectingObject(mobil2.class); if (a!=null) { getWorld().removeobject(this); Greenfoot.stop(); }
-