• Tidak ada hasil yang ditemukan

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya."

Copied!
12
0
0

Teks penuh

(1)

Teknologi Game | ratnokustiawan.wordpress.com

1

Materi 2

Menampilkan peta di Game Tools yang dibutuhkan

1. JDK 6ux

2. Notepad++/Netbeans 6.x/JDeveloper/Eclipse

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

1. Memulai project game, silahkan anda jalankan Netbeans anda 2. Kemudian silahkan anda pilih File  New Project

3. Maka akan muncul window berikut

(2)

Teknologi Game | ratnokustiawan.wordpress.com

2 4. Ketika muncul window berikut, silahkan anda sesuaikan seperti berikut

 Project Name : MyFirstRPG

 Project Location : Folder anda

 Use Dedicated Folder for Storing Libraries : Beri tanda check

 Create Main Class : Beri tanda check dan beri nama rpg.Main

Kemudian klik Finish

5. Maka anda akan mendapatkan tampilan seperti berikut

6. Silahkan anda pastikan bahwa anda memiliki folder Slick2D di computer anda masing2, folder ini berisi semua library dan javadoc dari slick2d game framework

(3)

Teknologi Game | ratnokustiawan.wordpress.com

3 7. Untuk memasukkan library Slick2D ke project game anda silahkan anda pilih project game anda

kemudian anda cari Libraries lalu klik kanan Add JAR/Library

8. Silahkan pilih file dengan extensi jar, jangan anda pilih folder javadoc dan folder native content dari folder Slick2D, jangan lupa anda pilih Copy to Libraries Folder

Kemudian klik Open

Ketika muncul Question yang menanyakan bahwa anda akan mengkopikan semua file dan content dari folder?, silahkan anda pilih Yes

(4)

Teknologi Game | ratnokustiawan.wordpress.com

4 9. Maka anda akan mendapatkan tampilan sebagai berikut

10. Silahkan anda pilih Tab Files

11. Buka windows explorer anda kemudian anda masuk ke folder Slick2D, pilih folder Native dan Javadoc lalu anda Copy

(5)

Teknologi Game | ratnokustiawan.wordpress.com

5 12. Folder native berisi engine LWJGL dan JOGL yang merupakan library native, library ini

dibutuhkan dikarenakan Slick2D menggunakan LWJGL dan JOGL sebagai corenya. 13. Silahkan anda paste melalui netbeans pada tab files, silahkan anda pilih folder lib

(6)

Teknologi Game | ratnokustiawan.wordpress.com

6 15. Silahkan anda kopy folder image dan file mission1.tmx kedalam paket rpg pada netbeans,

sehingga tampilannya sebagai berikut

16. Klik kanan project MyFirstRGP kemudian pilih Properties 17. Pada tree Categories pilih run, pada VM Options silahkan isikan

-Djava.library.path=lib/native

State Based Game

State Based Game memungkinkan game untuk dipecah kedalam aktivitas berbeda yang bias dilalui oleh pemain, seperti Menu, HighScore, Play dan Credits.

18. Silahkan anda tambahkan 1 buah kelas bernama StateManagement, pada tampilan tampak seperti berikut

Maka anda akan mendapatkan source code berikut

Dibaca : sebuah kelas dengan nama StateManagement yang terletak pada paket rpg package rpg;

public class StateManagement { }

(7)

Teknologi Game | ratnokustiawan.wordpress.com

7 19. Buat agar kelas StateManagement menjadi turunan dari kelas , tambah kode program anda agar

seperti yang dicetak tebal berikut berikut

Dibaca :

Kelas StateManagement adalah turunan dari kelas StateBasedGame, dikarenakan kelas

StateBasedGame memiliki konstruktor yang parameternya berjumlah 1 dan bertipe String maka pada konstruktor StateManagement harus ditambahkan super(“My FirstGame”).

Kelas StateBasedGame adalah sebuah kelas Abstract yang memiliki method abstract

initStateList, maka kelas yang menjadi turunan dari StateBasedGame diwajibkan untuk

mengimplementasikan method initStateList. 20. Tambahkan sebuah kelas dengan nama Mission1

package rpg;

import org.newdawn.slick.GameContainer; import org.newdawn.slick.SlickException;

import org.newdawn.slick.state.StateBasedGame;

public class StateManagement extends StateBasedGame {

public StateManagement() { super("My First Game"); }

@Override

public void initStatesList(GameContainer gc) throws SlickException { throw new UnsupportedOperationException("Not supported yet."); }

}

package rpg;

public class Mission1 { }

(8)

Teknologi Game | ratnokustiawan.wordpress.com

8 21. Buat agar kelas Mission1 menjadi turunan dari kelas BasicGameState

Dibaca :

Kelas mission1 adalah turunan dari kelas BasicGameState, didalam kelas ini diimplementasikan method init, render,getID dan update.

22. Tambahkan kelas RPGMap package rpg; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.SlickException; import org.newdawn.slick.state.BasicGameState; import org.newdawn.slick.state.StateBasedGame;

public class Mission1 extends BasicGameState { @Override

public int getID() {

throw new UnsupportedOperationException("Not supported yet."); }

public void init(GameContainer gc, StateBasedGame sbg) throws SlickException { throw new UnsupportedOperationException("Not supported yet.");

}

public void render(GameContainer gc, StateBasedGame sbg, Graphics grphcs) throws SlickException { throw new UnsupportedOperationException("Not supported yet.");

}

public void update(GameContainer gc, StateBasedGame sbg, int i) throws SlickException { throw new UnsupportedOperationException("Not supported yet.");

}

}

package rpg;

public class RPGMap { }

(9)

Teknologi Game | ratnokustiawan.wordpress.com

9 23. Ubah agar kelas RPGMap merupakan kelas turunan TiledMap, kemudian sesuaikan dengan kode

program berikut

Dibaca :

Kelas RPGMap merupakan TiledMap, kelas ini memerlukan sebuah konstruktor yang memiliki parameter ref dengan type String dan memanggil konstruktor dari kelas TiledMap yang berkonstruktor 1 buah dengan tipe String.

24. Ubah kelas main agar seperti kode program berikut

Dibaca :

Pada method main yang terdapat pada Kelas Main, akan mencoba membuat object container dari Kelas AppGameContainer. Method ini meminta parameter yang diisi dengan Objcet yang dihasilkan dari parameter kelas StateManagement dan akan menghasilkan game dengan ukuran screen 800x600 serta tidak fullscreen.

Kemudian akan memanggil method start dari object container untuk menjalankan game. Apabila gagal maka akan melakukan Log terhadap error yang terjadi.

package rpg;

import org.newdawn.slick.SlickException; import org.newdawn.slick.tiled.TiledMap;

public class RPGMap extends TiledMap {

public RPGMap(String ref) throws SlickException {

super(ref); } } package rpg; import java.util.logging.Level; import java.util.logging.Logger; import org.newdawn.slick.AppGameContainer; import org.newdawn.slick.SlickException;

public class Main {

public static void main(String[] args) { try {

AppGameContainer container = new AppGameContainer(new StateManagement(), 800, 600, false); container.start();

} catch (SlickException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); }

} }

(10)

Teknologi Game | ratnokustiawan.wordpress.com

10 25. Silahkan anda buka kelas StateManagement.java, kemudian anda cari method initStatesList,

silahkan anda panggil method addState yang meminta parameter GameState, isi parameter anda isi dengan new Mission1()

addState(new Mission1());

Sehingga tampak seperti kode program berikut (tambahkan kode program yang dicetak tebal)

Dibaca :

Method initStatesList akan memanggil method addState, kemudian akan meregister Mission1 menjadi aktivitas yang akan ditampilkan

package rpg;

import org.newdawn.slick.GameContainer; import org.newdawn.slick.SlickException;

import org.newdawn.slick.state.StateBasedGame;

public class StateManagement extends StateBasedGame { public StateManagement() {

super("My First Game"); }

@Override

public void initStatesList(GameContainer gc) throws SlickException { addState(new Mission1());

} }

(11)

Teknologi Game | ratnokustiawan.wordpress.com

11 26. Kemudian silahkan anda buka kelas Mission1.java dan lihat kode program berikut

Dibaca :

 Object rpgMap adalah object yang dibuat dari kelas RPGMap

 Attribute STATE_ID adalah sebuah attribute bertipe int yang dapat diakses dari kelas manapun tanpa membuat object dari kelas RPGMap karena memiliki penanda static  Pada method getID akan mengembalikan nilai dari attribute STATE_ID

 Method init akan melakukan inisialisasi object rpgMap dengan memanggil konstruktor dari kelas RPGMap yang pada parameternya diberikan lokasi peta dan nama peta yang hendak di load.

 Pada method rendeer akan memangil method render dari object rpgMap, method itu akan meletakkan peta pada posisi 0,0 atau kiri atas, kemudian perlayer.

package rpg; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.SlickException; import org.newdawn.slick.state.BasicGameState; import org.newdawn.slick.state.StateBasedGame; public class Mission1 extends BasicGameState {

private RPGMap rpgMap; public static int STATE_ID = 1;

@Override public int getID() { return STATE_ID; }

public void init(GameContainer gc, StateBasedGame sbg) throws SlickException { rpgMap = new RPGMap("rpg/mission1.tmx");

}

public void render(GameContainer gc, StateBasedGame sbg, Graphics grphcs) throws SlickException {

rpgMap.render(0, 0, 0); rpgMap.render(0, 0, 1); rpgMap.render(0, 0, 2); rpgMap.render(0, 0, 3); rpgMap.render(0, 0, 4); rpgMap.render(0, 0, 5); }

public void update(GameContainer gc, StateBasedGame sbg, int i) throws SlickException { }

(12)

Teknologi Game | ratnokustiawan.wordpress.com

12 27. Silahkan anda running (F6), kurang lebih hasilnya akan tampak seperti berikut

Referensi

Dokumen terkait

Dalam karya ilmiah ini, penentuan nilai batas atas dilakukan dengan menentukan spanning tree menggunakan adaptasi dari algoritme Prim.. Pada adaptasi algoritme

Dalam penelitian pengembangan di bidang pembelajaran, indikator untuk menyatakan bahwa keterlaksanaan model dikatakan efektif misalnya dapat dilihat dari

Memorandum Program Sektor Sanitasi (MPS) merupakan terminal seluruh program dan kegiatan pembangunan sektor sanitasi kabupaten/kota yang dilaksanakan oleh Pemerintah

Dengan demikian tidaklah tepat jika ketentuan Pasal 28A dan 28I UUD NRI Tahun 1945 di gunakan untuk menguji pelaku tindak pidana yang di ancam dengan pidana

Time International, promosi jabatan yang terjadi di dalamnya, gambaran umum responden terhadap beban kerja yang ada di perusahaan tersebut dan analisis hasil

Faktor pertama (A) adalah jenis yoghurt yang berbeda yaitu A1 = yoghurt probiotik susu sapi dengan penambahan ekstrak bunga rosella dan A2 = yoghurt plain susu

ANALISIS PENGUASAAN KONSEP DAN MISKONSEPSI MATERI EVOLUSI PADA MAHASISWA CALON GURU BIOLOGI.. Universitas Pendidikan Indonesia | repository.upi.edu

Apabila kumparan medan dialiri oleh arus tetapi kumparan jangkar tidak dialiri oleh arus, maka dengan mengabaikan pengaruh celah udara, jalur fluksi ideal untuk kutub utama dari