Home > Java, Slick2D > Tutorial Game Programming part 2

Tutorial Game Programming part 2


Menampilkan peta tmx di Java menggunakan Slick2D

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

    Silahkan anda pilih Categories Java dan Projects Java Application kemudian Next

     

  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

  1. Maka anda akan mendapatkan tampilan seperti berikut

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

  3. Untuk memasukkan library Slick2D ke project game anda silahkan anda pilih project game anda kemudian anda cari Libraries lalu klik kanan Add JAR/Library

  4. 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

     

     

     

     

  5. Maka anda akan mendapatkan tampilan sebagai berikut

  6. Silahkan anda pilih Tab Files

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

  8. Folder native berisi engine LWJGL dan JOGL yang merupakan library native, library ini dibutuhkan dikarenakan Slick2D menggunakan LWJGL dan JOGL sebagai corenya.
  9. Silahkan anda paste melalui netbeans pada tab files, silahkan anda pilih folder lib

  10. Maka tampilannya akan seperti berikut

  11. Silahkan anda kopy folder image dan file mission1.tmx kedalam paket rpg pada netbeans, sehingga tampilannya sebagai berikut

  12. Klik kanan project MyFirstRGP kemudian pilih Properties
  13. 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.

 

  1. 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

 

  1. 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.

  2. Tambahkan sebuah kelas dengan nama Mission1

 

  1. 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.

  1. Tambahkan kelas RPGMap

 

 

  1. 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.

  2. 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 800×600 serta tidak fullscreen.

Kemudian akan memanggil method start dari object container untuk menjalankan game.

Apabila gagal maka akan melakukan Log terhadap error yang terjadi.

 

  1. 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

 

  1. 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.

 

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

Categories: Java, Slick2D
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: