Belajar Menciptakan Game 2D Dengan Java Dan Netbeans Bab Iii: Canvas
Oke, lanjut lagi ya. Pada bagian II dari tutorial ini, anda sudah menciptakan window untuk menampilkan game. Tapi, masalahnya yaitu tidak ada grafik atau gambar yang ditampilkan pada layar.
Sebelum beranjak ke situ, anda juga sudah mengetahui bila sebuah komponen java.awt.Canvas akan merepresentasikan area persegi yang kosong dan sanggup dipakai untuk menampung grafik-grafik tersebut.
Oleh lantaran itu, pembahasan kali ini yaitu mengenai Canvas terlebih dahulu. Kaprikornus kita akan menampilkan gambar atau grafik menyerupai player, background, dan lain-lain melalui Canvas nantinya.
Dengan kata lain anda akan menggambar semuanya pada objek Canvas. Kemudian, sesudah semua grafik simpulan digambar, maka gambar tersebut akan disimpan pada frame. Selanjutnya, anda sanggup melihat grafik tersebut melalui layar. Seperti inilah dasar cara kerja kegiatan yang harus anda pahami sebenarnya.
Oke, lanjut koding lagi.
Berikut ini yaitu instruksi kegiatan untuk class GameDisplay, sesudah di update dengan Canvas dan pengaturannya.
Pada line 37 hingga 41, anda akan melihat pengaturan ukuran Canvas harus memakai class Dimension. Kaprikornus anda tidak sanggup secara sederhana hanya memasukkan nilai variabel lebar dan tinggi menyerupai pada JFrame untuk mengatur ukurannya. Dalam kasus ini yaitu objek Dimension adalah anonymous objek. Class Dimension ini akan mengenkapsulasikan lebar dan tinggi dari suatu komponen dalam satu objek tunggal.
Anda kemudian sanggup menuju ke class Main dan mengeksekusi lagi kegiatan ini.
Berikut ini yaitu tampilan window game yang anda buat dengan canvas yang mempunyai background merah.
Warna background merah itu hanya untuk menguji saja bila canvas sudah ditempatkan dalam frame, anda sanggup menghapus instruksi di line 4 dan 44 untuk menghilangkan warna background tersebut.
Selanjutnya, anda sanggup menciptakan satu class yang sangat penting lantaran class ini yang memegang instruksi dasar dari game menyerupai memulai, menjalankan, menghentikan game, dan sebagainya.
Buat satu class dalam package com.bahasajava.gamejava dan beri nama class tersebut Game.
Class game ini akan membutuhkan objek GameDisplay. Kaprikornus kita perlu menciptakan variabel instance dari class GameDisplay dari pada class Game.
Berikut ini yaitu instruksi pada class Game:
Jadi, ketika objek Game ini diinisialisasi maka kita menginginkan semoga objek gameDisplay (lihat line 15) di tampilkan pada layar.
Oleh lantaran itu, anda harus menciptakan objek Game ini pada class Main, yaitu ketika kegiatan mulai dieksekusi.
Berikut ini instruksi yang telah di update pada class Main:
Sekarang cobalah anda jalankan programnya, anda masih akan mendapat tampilan yang sama. Namun, kini objek dari class Game telah berperan untuk menampilkan window.
Ok, hingga di sini dulu ya. Pada tutorial berikutnya anda akan berguru memakai Threads dan memahami game loop, sebagai konsep penting untuk semua game.
Baca juga:
Bagian I
Bagian II
Sebelum beranjak ke situ, anda juga sudah mengetahui bila sebuah komponen java.awt.Canvas akan merepresentasikan area persegi yang kosong dan sanggup dipakai untuk menampung grafik-grafik tersebut.
Oleh lantaran itu, pembahasan kali ini yaitu mengenai Canvas terlebih dahulu. Kaprikornus kita akan menampilkan gambar atau grafik menyerupai player, background, dan lain-lain melalui Canvas nantinya.
Dengan kata lain anda akan menggambar semuanya pada objek Canvas. Kemudian, sesudah semua grafik simpulan digambar, maka gambar tersebut akan disimpan pada frame. Selanjutnya, anda sanggup melihat grafik tersebut melalui layar. Seperti inilah dasar cara kerja kegiatan yang harus anda pahami sebenarnya.
Oke, lanjut koding lagi.
Berikut ini yaitu instruksi kegiatan untuk class GameDisplay, sesudah di update dengan Canvas dan pengaturannya.
package com.bahasajava.gamejava.gamedisplay; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import javax.swing.JFrame; public class GameDisplay { private JFrame frame;//sebagai container komponen lainnya private int lebar, tinggi;//dalam ukuran piksel private String judul; private Canvas canvas;//Untuk meletakkan gambar atau grafik //Constructor public GameDisplay(String judul, int lebar, int tinggi){ this.judul = judul; this.lebar = lebar; this.tinggi = tinggi; buatGameDisplay();//Memanggil method buatGameDisplay(); } private void buatGameDisplay(){ frame = new JFrame(judul);//Mengatur judul frame.setSize(lebar, tinggi);//Mengatur ukuran lebar dan tinggi window frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Agar window di close tepat frame.setResizable(false);//Agar ukuran window tidak sanggup di ubah frame.setLocationRelativeTo(null);//Agar window berada ditengah layar frame.setVisible(true);//Agar window terlihat dikala ditampilkan canvas = new Canvas();//Membuat objek canvas //Memilih ukuran canvas yang sesuai dengan ukuran lebar dan tinggi frame canvas.setPreferredSize(new Dimension(lebar, tinggi)); //Untuk selalu menjamin ukuran kanvas sesuai yang diinginkan canvas.setMaximumSize(new Dimension(lebar, tinggi)); canvas.setMinimumSize(new Dimension(lebar, tinggi)); //Hanya untuk menguji bila canvas telah ditambahkan dengan menambahkan background warna merah canvas.setBackground(Color.red);//Nanti hapus lagi baris instruksi ini ya!!! frame.add(canvas);//Menambahkan canvas ke dalam frame //Agar window pas sesuai dengan ukuran yang diinginkan atau dipilih //sehingga sanggup melihat ukuran canvas secara keseluruhan frame.pack(); } }
Pada line 37 hingga 41, anda akan melihat pengaturan ukuran Canvas harus memakai class Dimension. Kaprikornus anda tidak sanggup secara sederhana hanya memasukkan nilai variabel lebar dan tinggi menyerupai pada JFrame untuk mengatur ukurannya. Dalam kasus ini yaitu objek Dimension adalah anonymous objek. Class Dimension ini akan mengenkapsulasikan lebar dan tinggi dari suatu komponen dalam satu objek tunggal.
Anda kemudian sanggup menuju ke class Main dan mengeksekusi lagi kegiatan ini.
Berikut ini yaitu tampilan window game yang anda buat dengan canvas yang mempunyai background merah.
Warna background merah itu hanya untuk menguji saja bila canvas sudah ditempatkan dalam frame, anda sanggup menghapus instruksi di line 4 dan 44 untuk menghilangkan warna background tersebut.
Membuat Class Yang Memegang Kode Dasar Game
Selanjutnya, anda sanggup menciptakan satu class yang sangat penting lantaran class ini yang memegang instruksi dasar dari game menyerupai memulai, menjalankan, menghentikan game, dan sebagainya.
Buat satu class dalam package com.bahasajava.gamejava dan beri nama class tersebut Game.
Class game ini akan membutuhkan objek GameDisplay. Kaprikornus kita perlu menciptakan variabel instance dari class GameDisplay dari pada class Game.
Berikut ini yaitu instruksi pada class Game:
package com.bahasajava.gamejava; import com.bahasajava.gamejava.gamedisplay.GameDisplay; public class Game { private GameDisplay gameDisplay; public int lebar, tinggi; public Game(String judul, int lebar, int tinggi){ this.lebar = lebar; this.tinggi = tinggi; //objek gameDisplay mempunyai konstruktor dengan parameter //judul, lebar, dan tinggi, jadi semua parameter ini harus terpenuhi gameDisplay = new GameDisplay(judul, lebar, tinggi); } }
Jadi, ketika objek Game ini diinisialisasi maka kita menginginkan semoga objek gameDisplay (lihat line 15) di tampilkan pada layar.
Oleh lantaran itu, anda harus menciptakan objek Game ini pada class Main, yaitu ketika kegiatan mulai dieksekusi.
Berikut ini instruksi yang telah di update pada class Main:
package com.bahasajava.gamejava; public class Main { //main method public static void main(String[] args) { new Game("My Java Game", 640, 360); } }
Sekarang cobalah anda jalankan programnya, anda masih akan mendapat tampilan yang sama. Namun, kini objek dari class Game telah berperan untuk menampilkan window.
Ok, hingga di sini dulu ya. Pada tutorial berikutnya anda akan berguru memakai Threads dan memahami game loop, sebagai konsep penting untuk semua game.
Baca juga:
Bagian I
Bagian II
Belum ada Komentar untuk "Belajar Menciptakan Game 2D Dengan Java Dan Netbeans Bab Iii: Canvas"
Posting Komentar