pengenalan greenfoot
Post on 06-Jan-2016
143 Views
Preview:
DESCRIPTION
TRANSCRIPT
Pengenalan GREENFOOTPemrograman Game
Eko PrasetyoTeknik Informatika
Univ. Pembangunan Nasional Veteran Jawa Timur2012
2
Greenfoot
3
Skenario game
Object World
Instansiasi kelas (objek) Kelas
World
Class DIagram
Kontrol eksekusi
Compile source code
Pengatur kecepatan
4
Greenfoot Skenario berguna untuk mengilustrasikan interaksi
antara obyek (konsep Object Oriented) dalam game. Ada 2 kelas dasar dalam Greenfoot: World dan Actor. World (Dunia):
◦ Lingkungan (daerah) paling luas (window) yang meng-cover semua bagian aplikasi.
◦ Tempat aktor beraksi dan berinteraksi antar aktor Actor (Pelaku):
◦ Obyek (aktor) dalam World yang tampil seolah hidup dan berinteraksi dengan objek yang lain.
◦ Menggunakan konsep OOP secara penuh. Class Diagram: Berisi kontrol hierarki kelas aktor. Kontrol eksekusi:
◦ Act: Aktor menjalankan aktivitasnya 1 kali.◦ Run: Aktor menjalankan aktivitasnya secara terus menerus.◦ Reset: Mengembalikan susunan skenario ke kondisi awal.
5
Skenario 1: Ikan dan Orang
Aktor ikan1 bergerak dari kiri ke kanan.
Aktor ikan2 bergerak dari kanan ke kiri.
Jika ikan mencapai tepi lingkungan maka muncul disisi seberang (seolah akuarium melingkar).
Aktor orang, dapat bergerak ke atas dan kebawah, dapat mengeluarkan peluru.
6
Aktivitas Aktor Ikan
public void gerak1(int step) { if (getX() >= getWorld().getWidth()-10) { setLocation(10,getY()); }else { setLocation(getX()+step,getY()); } } public void gerak2(int step) { if (getX() <= 10) { setLocation(getWorld().getWidth()-10,getY()); }else { setLocation(getX()+step,getY()); } }
Gerak ke kanan
Gerak ke kiri
Kelas Ikan
protected int langkah=1; Deklarasi properti pada level kelas Ikan
7
Aktivitas Aktor Ikan
public void balik() { if (Greenfoot.isKeyDown("a")) { langkah = -langkah; } };
Balik arah
public class Ikan1 extends Ikan{ /** * Act - do whatever the Ikan1 wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { // Add your action code here. balik(); gerak1(langkah); } }
Panggil fungsi di kelas Ikan1
Method (behaviour) yang terus dijalankan oleh greenfoot selama aplikasi dijalankan.
8
Library method aktor dalam Greenfoot
void setLocation(X,Y)
int getX()
int getY()
boolean Greenfoot.isKeyDown(String karakter)
getWorld().getWidth()
void setDirection(int direction)
getWorld(). getHeight()
getWorld().addObject(new Class(),X,Y)
getWorld().removeObject(this);
Menetapkan posisi aktor pada koordinat X,Y
Mendapatkan koordinat X obyek pada saat ituMendapatkan koordinat Y obyek pada saat itu
Memeriksa tombol keyboard yang ditekan
Mendapatkan lebar lingkungan
Mendapatkan tinggi lingkungan
Membuat obyek baru
Menghapus obyek
9
Aktivitas aktor Orang public void act() { // Add your action code here. gerak(); tembak(); } public void gerak(){ if (Greenfoot.isKeyDown("r")) { setLocation(getX(),getY()-1); } else if (Greenfoot.isKeyDown("c")) { setLocation(getX(),getY()+1); } } public void tembak() { int X = getX(); int Y = getY(); if (Greenfoot.isKeyDown("p")) { getWorld().addObject(new Peluru(),X,Y); }; }
Gerak ke atas atau ke bawah
Mengeluarkan peluru (menembak)
10
Aktivitas aktor Peluru
public void act() { // Add your action code here. gerak(); } public void gerak() { setLocation(getX()+1,getY()); if (getX() >= getWorld().getWidth()-10) { getWorld().removeObject(this); } };
Jika peluru sudah sampai di ujung, maka dihapus
11
Game Little-Crab
Skenario: Kepiting makan cacing, jika menabrak lobster maka kepiting mati dan membunyikan suara.
12
SAATNYA ANDA MEMBUAT GAME(PERILAKU AKTOR)
Tugas I
top related