Tutorial 8

LATAR GAME

Background.java [view online]
Bab ini menjelaskan apa itu latar, hubungannya dengan sprite dan game, inisialisasinya, dan cara pemakaiannya.
Tujuan : Mengerti apa itu latar, hubungannya dengan sprite dan bagaimana menggunakannya.
collapse/expand

Pengertian Latar Game (Background)

Seperti yang telah dijelaskan di bab sebelum, setiap sprite terletak di suatu tempat di layar. Yang dimaksud dengan layar disini adalah latar game (Background class).
latar dan sprite

Inisialisasi Latar Game

Inisialisasi latar sangat mudah, cukup dengan memberikan lebar dan tinggi latar yang diinginkan :

class :: Background

Syntax:
   public Background(int w, int h);

dimana :
w = lebar dari latar
h = tinggi dari latar

Sama halnya dengan sprite, latar juga harus diupdate dan dirender setiap framenya :

class :: Background

Syntax:
   public void update(long elapsedTime);
   public void render(Graphics2D g);

dimana :
elapsedTime = waktu yang terlewat semenjak update terakhir
              nilai ini didapat dari Game class
g           = objek grafis tempat latar akan digambar

Sprite dan Latar

Tutorial8_1.java [view online]

Asosiasi Sprite dengan Latar

Suatu sprite yang baru dibentuk secara default akan diletakkan pada latar kosong. Untuk meletakkan sprite tersebut ke latar tertentu gunakan fungsi Sprite.setBackground(Background) :
diagram meletakkan sprite ke latar

class :: Sprite

Syntax:
   public void setBackground(Background backgr);

dimana :
backgr = latar yang akan diasosiasikan ke sprite yang bersangkutan


Misal:
meletakkan beberapa sprite ke suatu background

   Background background;
   Sprite spr1, spr2, spr3;

   spr1.setBackground(background);
   spr2.setBackground(background);
   spr3.setBackground(background);

Sprite di Tengah Area Pandang Latar

Agar sprite berada tepat di tengah area pandang latar gunakan fungsi :

class :: Background

Syntax:
   public void setToCenter(Sprite centered);

dimana :
centered = sprite yang akan berada di tengah area pandang latar

Jenis-Jenis Latar Game

Tutorial8_2.java [view online]

Jenis-jenis latar yang dapat digunakan :

  • Latar Warna
    Merupakan latar yang paling mendasar, hanya mengisi latar dengan warna tertentu.
  • Latar Citra
    Latar diisi dengan suatu gambar.
  • Latar Ubin
    Latar tersusun atas kumpulan gambar yang diletakkan secara rapi dalam kotak-kotak seperti ubin lantai.
  • Latar Parallax
    Latar yang tersusun atas beberapa latar (berlapis-lapis) dimana setiap latar digerakkan secara bersama-sama dengan halus sehingga menciptakan efek parallax.
Cara inisialisasi dapat dilihat pada dokumentasi latar masing-masing.

Contoh :

file :: YourGame.java

// JFC
import java.awt.*;

// GTGE
import com.golden.gamedev.*;
import com.golden.gamedev.object.*;
import com.golden.gamedev.object.background.*;


public class YourGame extends Game {


   Background  background;

   Sprite      s1, s2, s3;


   public void initResources() {
       background = new ColorBackground(Color.BLUE, 800, 600);

       s1 = new Sprite(getImage("player.png"));
       s1.setBackground(background);

       s2 = new Sprite(getImage("player.png"));
       s2.setBackground(background);

       s3 = new Sprite(getImage("player.png"));
       s3.setBackground(background);
   }


   public void update(long elapsedTime) {
       background.update(elapsedTime);

       s1.update(elapsedTime);
       s2.update(elapsedTime);
       s3.update(elapsedTime);
   }


   public void render(Graphics2D g) {
       background.render(g);

       s1.render(g);
       s2.render(g);
       s3.render(g);
   }


   public static void main(String[] args) {
       GameLoader game = new GameLoader();
       game.setup(new YourGame(), new Dimension(640,480), false);
       game.start();
   }

}

Mengubah Area Pandang Latar

Tutorial8_3.java [view online]

Secara default area pandang suatu latar adalah sebesar ukuran layar game (memenuhi layar) dimana latar dibuat. Misalnya apabila ukuran game 640x480 maka area pandang latar juga akan sebesar 640x480. Area pandang ini dapat diubah dengan fungsi :

class :: Background

Syntax:
   public void setClip(int x, int y, int width, int height);

dimana :
x      = kordinat x awal dari area pandang latar
y      = kordinat y awal dari area pandang latar
width  = lebar area pandang latar
height = tinggi area pandang latar

Catatan Penting Lainnya

Penggunaan sprite dan latar secara langsung seperti di atas inilah yang merupakan pendekatan manajemen sprite yang pertama.

Yang perlu diperhatikan pada pendekatan pertama ini adalah jangan lupa untuk meletakkan atau mengasosiasikan setiap sprite ke latar yang diinginkan.

Selanjutnya kita akan masuk ke pendekatan manajemen sprite yang kedua, setiap sprite dikelompokkan ke dalam grup-grup.


Kesimpulan :

  • Latar merupakan tempat tinggal sprite, atau dengan kata lain setiap sprite berada di suatu tempat di latar.
  • Latar dalam GTGE diwakili oleh Background class.
  • Setiap sprite secara default diletakkan di latar kosong, untuk meletakkannya di latar yang diinginkan, gunakan fungsi Sprite.setBackground(Background).
  • Untuk membuat suatu sprite berada tepat di tengah area pandang latar gunakan fungsi Background.setToCenter(Sprite).
  • Terdapat 4 jenis latar, yakni latar warna, latar citra, latar ubin, dan latar parallax.
  • Area pandang latar secara default adalah sebesar ukuran layar game, untuk merubahnya gunakan fungsi Background.setClip(x, y, width, height).

Referensi : Background class, Sprite class

Copyright © 2003-2005 Golden T Studios. All rights reserved. Use is subject to license terms.
GoldenStudios.or.id
Halaman 8 dari 12