Category Archives: Tutorial

Browser game dengan Libgdx Applet

hello there, lama tak menulis. :D
tutorial yang saya tulis belum selesai juga ya? hehe . bukannya tak sempat tapi lupa terus. lagipula saya juga masih belajar jadi masih perlu explorasi lebih jauh lagi metode terbaik buat bikin game pake libgdx. Yang saya suka dari libgdx adalah ternyata libgdx sangat flexible untuk digunakan. :D

Dan satu lagi yang bikin saya suka dengan libgdx. Ternyata game yang dibuat dengan libgdx dapat dideploy sebagai web-app hanya dengan sedikit konfigurasi project tanpa harus mengubah kode. saaaaaaangat mudah dan hasilnya memuaskan :)

lalu bagaimana caranya? mari kita coba!

(sebelumnya silakan download semua jar dan requirement lainnya disini)

Read more …

fugogugo

undergraduate student at UGM, co-founder and Game Programmer at Amagine Interactive.

More Posts

Making a shooter game with flashpunk: making waves of enemies

Part 1: Memulai dengan flashpunk dan AS3

Part 2: Membuat pesawat menembakkan peluru

Part 3: Tambahkan musuh, tambahkan ketegangan

Part 4: Saatnya bullet pattern!

Part 5

Part 6: Improving our character

Part 7: Background

Part 8: Scrolling camera

Tak terasa kita sudah sampai di seri kesembilan dari serial tutorial membuat game dengan flashpunk. Sekarang kita akan menambahkan lebih banyak musuh ke dalam stage kita yang sudah scrolling secara otomatis. Tapi sebelum itu, kita akan memperbaiki satu bug dari tutorial kita sebelumnya. Coba dari hasil tutorial sebelumnya, ketika scrolling (belum sampai ujung atas) klik-tahan mouse untuk menembak. Peluru tidak keluar dari pesawat, ketika kita mendekat bagian atas, baru terlihat peluru kita. Ini karena posisi awal dan akhir peluru yang masih belum kita ubah.

Ada yang aneh

Bug peluru tutorial sebelumnya

Untuk memperbaikinya kita tinggal mengubah posisi awal dan akhir peluru kita sesuai dengan camera offset. Dalam class character, ubahlah code buat menembakkan peluru jadi seperti ini:

				if (timeToDeltaShot > deltaShot)
				{
					shoot(FP.camera. x + Input.mouseX, FP.camera.y + Input.mouseY);
					timeToDeltaShot -= deltaShot;
				}

dan ubahlah inisiasi peluru dalam fungsi shoot() menjadi seperti ini:

var peluru:Bullet = new Bullet(AssetsList.PELURU1, FP.camera.x + x, FP.camera.y + y, xTarget, yTarget);

dengan dua perbaikan ini sebenarnya kita sudah memperbaiki bug kita, tapi masih ada satu masalah lagi: yaitu peluru akan otomatis dihapus dari world kalau keluar dari koordinat tertentu. Coba lihat fungsi update() kelas Bullet, kita akan bisa melihat baris codenya. Bagaimana penyelesaiannya? tinggal comment saja baris yang menghapus peluru dan masalah selesai.

			if (x < 0 || x > 640 || y < 0 || y > 480)
			{
				// remove peluru ketika keluar dari game window
				// this.world.remove(this);
			}

Peluru sudah menembak dengan benar

Read more …

Aryadi Perwira

Self-proclaimed AS3 blackbelt.

More Posts

Pembentukan Rasa Dan Citra Untuk Musik

Rasa dan citra adalah dua parameter dasar yang digunakan untuk menilai karya seni. Tidak terkecuali pada musik atau BGM game, pemberian rasa dan citra yang pas pada musik yang kita buat akan menentukan apakah musik itu bernilai baik, atau tidak.

Pada tulisan saya yang sebelumnya, saya telah membahas tentang cara composing musik menggunakan FL Studio. Nah, sekarang kita akan mengupas tentang bagaimana membentuk rasa dan citra pada musik.

Terdapat 4 unsur dasar yang vital dalam pembentukan rasa dan citra pada musik.

Harmoni musik

Harmoni dapat menentukan sifat atau emosi yang hendak disampaikan musik. Harmoni adalah kombinasi antara nada-nada yang tingginya berbeda dan dibunyikan dalam suatu urutan waktu tertentu. Harmoni yang terbentuk atas tiga atau lebih nada bersamaan biasanya kita kenal dengan sebutan akord (chord). Sedangkan harmoni yang dibunyikan berurutan, kita kenal dengan sebutan arpeggio.

Pola nada dalam harmoni diatur dalam scale. Scale (tangga nada) adalah jarak interval nada yang membentuk suatu urutan tertentu. Scale yang paling umum dan populer digunakan adalah scale mayor dan minor. Meskipun banyak scale-scale lain seperti Maqamat (scale pada musik Arabic), Gamelan (Pelog) scale, Pentatonic (cinese oriental) scale, dll. Tapi scale-scale tersebut jarang digunakan.

Gambar 1. scale C major dan C minor

Penggunaan scale musik tersebut sangat mempengaruhi emosi musik yang nantinya akan kita buat. Beberapa diantaranya :

  • Suasana ceria dan semangat biasanya dibentuk dengan scale mayor.
  • Musik dengan scale minor untuk menggambarkan kesedihan, galau, suram, dll.
  • Scale minor dengan chord diminish dan nada-nada atonal (sengaja melenceng dari scale) untuk membuat suasana tegang.
  • Untuk menggambarkan suasana bingung, gunakan scale mayor dengan nada-nada atonal.

Tempo dan Dinamika

Tempo adalah ukuran kecepatan dalam birama lagu yang memiliki satuan BPM (Beats per Minute). Dalam sebagian besar partitur lagu klasik, kita juga bisa menjumpai ukuran tempo yang dinamai dengan bahasa italia seperti “Andante”, “Allegro”, “Adagio”, dll. Beberapa istilah tempo dalam bahasa italia yang dikenal beserta penjelasannya :

  • “Larghissimo — very, very slow (20 bpm and below)
  • Grave — slow and solemn (20–40 bpm)
  • Lento — slowly (40–60 bpm)
  • Largo — broadly (40–60 bpm)
  • Larghetto — rather broadly (60–66 bpm)
  • Adagio — slow and stately (literally, “at ease”) (66–76 bpm)
  • Adagietto — rather slow (70–80 bpm)
  • Andante moderato — a bit slower than andante
  • Andante — at a walking pace (76–108 bpm)
  • Andantino – slightly faster than andante
  • Moderato — moderately (108–120 bpm)
  • Allegretto — moderately fast (but less so than allegro)
  • Allegro moderato — moderately quick (112–124 bpm)
  • Allegro — fast, quickly and bright (120–168 bpm)
  • Vivace — lively and fast (?140 bpm) (quicker than allegro)
  • Vivacissimo — very fast and lively
  • Allegrissimo — very fast
  • Presto — very fast (168–200 bpm)
  • Prestissimo — extremely fast (more than 200bpm)”

(sumber : Wikipedia)

Dinamika menyatakan keras lembutnya suatu musik dimainkan. Ukuran dinamika biasanya juga dinyatakan dalam bahasa italia. Ukuran dinamika paling keras adalah fortissimo assai (fff), dan paling lembut adalah pianissimo possibile (ppp). Dalam composing musik digital, dinamika dapat diatur melalui velocity pada piano roll.

Gambar 2. ukuran dinamika dalam velocity not

Peranan tempo dan dinamika dalam pembentukan citra dan rasa musik sangatlah vital. Musik-musik dengan tempo tinggi dan dinamika forte akan memberikan kesan emosi yang tinggi dan meluap-luap, ceria, atau juga bisa ketakutan. Sedangkan lagu dengan tempo lambat dan dinamika piano biasanya akan memberikan nuansa tenang atau sedih.

Pemilihan Instrumen

Instrumen musik adalah suatu alat atau seperangkat alat yang berfungsi untuk menghasikan bunyi, nada, dan ritme yang membentuk musik. Citra dan rasa dalam musik tentu saja sangat dipengaruhi bentuk bunyi dari sumber nada. Pemilihan instrument juga dapat menentukan genre musik yang akan dibuat.

Misalnya :

  • Pada musik orchestra, instrument yang digunakan : String (biola, cello, contrabass), Brass (terompet, trombone), Woodwinds (Seruling, Oboe), Perkusi (timpani, simbal)
  • Untuk genre musik celtic, digunakan instrument : Biola, Bag and Pipe, Bodhran (semacam tamborin), Seruling
  • Untuk genre musik trance, disko, dubstep digunakan instrument-instrumen Elektrik dan Synthetizer
  • Untuk genre musik ethnic digunakan instrument : gitar akustik, ketipung, gamelan, rebab, seruling, tamborin
  • Untuk musik rock, punk dan metal digunakan instrument : gitar elektrik, drum, bass, keyboard

Gambar 3. (dari atas) gamelan, instrumen celtic, instrumen orchestra, synthetizer elektronik

Sebenarnya, hampir tidak ada aturan yang fixed tentang pemilihan instrument. Bisa saja kita membuat musik punk dengan menggunakan gamelan atau instrument elektrik (Saya sendiri sering membuat musik trance dengan instrument-instrument yang seharusnya digunakan dalam musik orchestra XD). Selama itu cocok dan harmonis, maka musik yang dihasilkan akan tetap terdengar enak.

Spotting Musik

Yang dimaksud spotting musik, adalah peletakan musik itu dalam suatu adegan atau kesempatan.
Misalnya : Musik fanfare yang ceria untuk adegan kemenangan, Musik bertempo tinggi dengan nada penuh tension untuk adegan battle, Musik dengan tempo slow dan scale minor untuk adegan sedih, dll.
Peletakan musik yang emosinya pas pada adegan yang benar akan meciptakan harmoni antara adegan dengan musik.

Demikian tulisan dari saya untuk minggu ini. Semoga bisa menjadi wacana untuk membuat musik yang berguna bagi pembaca.

Keep rock all :3

Ittou

Self-taught bedroom musician and music composer from Elventales Studio. Using FL Studio as main DAW and Anvil Studio as secondary workstation. Ittou learns many genre of music, but, his main influence is J-Pop, nuJazz and Ethnic music such as Celtic and Gamelan.

Membuat Game Android Avoider Menggunakan Framework Libgdx – Part #3 Base Entity and Multiple enemies

Part #1 – Introduction
Part #2 – Movement
Part #3 – Base Entity and Multiple Enemies

hehe buat part 3 ini kayanya judulnya panjang banget yah :D
saya bikin jadi satu saja karena sebenarnya masing – masing bagian ga terlalu panjang dan bisa dibahas sekaligus.
so let’s get it done!
Read more …

fugogugo

undergraduate student at UGM, co-founder and Game Programmer at Amagine Interactive.

More Posts

Making a shooter game series, part 8: Scrolling camera

Sampai juga kita di seria kedelapan dari tutorial pembuatan game shooter. Sama seperti biasanya kita akan melanjutkan dari tutorial part terakhir, kalau kamu masih ingat pada tutorial terakhir kita membuat background yang lebih menghibur daripada sekedar warna hitam. Seperti yang (kalau tidak salah) saya janjikan di tutorial seri ketujuh, kali ini kita akan membahas mengenai camera dan bagaimana membuat scrolling background.

Camera, dalam konteks game/game development, adalah pengganti mata kita dalam melihat game. Pendeknya, apa yang masuk dalam jarak pandang cameralah yang akan ditampilkan di game window. Kita bisa saja membuat sesuatu diluar jarak pandang camera, yang nantinya (dalam gameplay) akan tampil di game window dengan cara menggerakkan camera, dengan cara inilah kita akan membuat scrolling background. Sebelum kita membuat sesuatu diluar jarak pandang camera, pertama-tama kita akan belajar bagaimana cara menggerakkan camera terlebih dulu. Tambahkan fungsi ini di bagian atas class MapOne:

	import net.flashpunk.utils.Input;
	import net.flashpunk.utils.Key;
        import net.flashpunk.FP;

setelah itu kita akan menambahkan fungsi untuk menggerakkan camera, masih di MapOne:

Read more …

Aryadi Perwira

Self-proclaimed AS3 blackbelt.

More Posts

Membuat Game Android Avoider Menggunakan Framework Libgdx – Part #2 Movement

Part #1 – Introduction
Part #2 – Movement
Part #3 – Base Entity and Multiple Enemies

Yow halo semua :D
kembali lagi di seri tutorial game android dengan menggunakan libgdx. ini adalah bagian kedua dari seluruh tutorial, apabila anda belum membaca yang pertama lebih baik selesaikan dulu membaca yang pertama . :D

Menggerakkan Musuh

Bergerak menurut fisika berarti sebuah benda melakukan perpindahan posisi. Di dalam game pun tidak berbeda, yang kita lihat dalam game sebagai Bergerak sebenarnya adalah posisi benda yang kita lihat telah berubah posisinya karena di update. jadi di dalam game Pergerakan adalah perubahan posisi sebuah benda (x,y,z) tiap satuan waktu/per update cycle

Untuk menggerakkan sebuah benda dibutuhkan kecepatan. Kecepatan adalah besarnya perpindahan posisi sebuah benda tiap satuan waktu/per update cycle . Kecepatan adalah berupa vector karena memiliki besar dan arah.

karena itulah kita akan membuat sebuah object bertipe Vector2 bernama vel (singkatan dari velocity)

public final Vector2 vel = new Vector2();

keyword final artinya menjadikan object tersebut sebagai sebuah constant object. apa artinya constant object akan saya jelaskan di kesempatan lain. just leave it be for now.

lalu di constructor mari kita set nilai vel tersebut menjadi (0,-50) yang artinya kecepatan x adalah 0 dan kecepatan y adalah -50 . sesuai dengan world koordinat libgdx dimana y positif adalah ke atas berarti kecepatan -50 di y adalah menuju ke bawah

    public GameScreen(Avoider avoider) {
        super(avoider);
       //code here....
        vel.set(0, -50);
    }

selanjutnya untuk dapat menggerakkan sang musuh pada tiap update cycle sebelumnya kita buat dahulu satu method bernama update. di dalam method update ini perpindahan posisi musuh dilakukan

    public void update(float delta) {
    }

kemudian panggil method update tersebut di bagian paling atas method render()

@Override
    public void render(float delta) {
        super.render(delta);
        update(delta);
       .... //more code below
    }

taruh kode untuk menggerakkan musuh di dalam method update tadi.

    public void update(float delta) {
        honeycomb.setPosition(honeycomb.getX() + vel.x * delta, honeycomb.getY() + vel.y * delta);
    }

terlihat sedikit rumit , namun bila dirumuskan akan terlihat lebih mudah :
x = x + Vx * delta
y = y + Vy * delta

note: Vx * delta dan Vy * delta merupakan rumus interpolasi yang digunakan untuk menjaga agar pergerakan tetap terlihat smooth tidak terpengaruh oleh FPS game.

oiya perlu juga diatur posisi awal musuh agar dapat bergerak dari atas sampai ke bawah. tuliskan kode ini di dalam constructor

honeycomb.setPosition(100, 480);

tekan Run dan amati hasilnya!

full code

package com.gdi.avoider;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;

public class GameScreen extends BaseScreen {

    private SpriteBatch batch;  //class that will handle 2D rendering task
    private Texture androidTexture; //texture as image container
    private Texture honeycombTexture;
    private Sprite android;             //sprite that will be used to draw texture
    private Sprite honeycomb;

    public final Vector2 vel = new Vector2();
    public GameScreen(Avoider avoider) {
        super(avoider);
        batch = new SpriteBatch();
        androidTexture = new Texture(Gdx.files.internal("android.png"));
        honeycombTexture = new Texture(Gdx.files.internal("honeycomb.png"));
        android = new Sprite(androidTexture, 0, 0, 100, 100);
        honeycomb = new Sprite(honeycombTexture, 0, 0, 50, 50);
        android.setPosition(100, 100);

       honeycomb.setPosition(100, 480);
 vel.set(0, -50);
    }

    //a texture defined must be disposed after unused or application closed
    @Override
    public void dispose() {
        super.dispose();
        androidTexture.dispose();
        honeycombTexture.dispose();
    }

    @Override
    public void render(float delta) {
        super.render(delta);
        update(delta);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);   //clear screen
        Gdx.gl.glClearColor(255, 255, 255, 255);    //fill screen with white color

        //batch drawing must began with batch.begin() and ended with batch.end()
        batch.begin();
        android.draw(batch);        //sprite has draw function inside
        honeycomb.draw(batch);
        batch.end();
    }

    public void update(float delta) {
 honeycomb.setPosition(honeycomb.getX() + vel.x * delta, honeycomb.getY() + vel.y * delta);
 }

Next ,, menggerakkan karakter :)
Click on next page please

fugogugo

undergraduate student at UGM, co-founder and Game Programmer at Amagine Interactive.

More Posts

Composing BGM menggunakan FL Studio

BGM (Background Music) dalam sebuah game memiliki banyak peran. Salah satunya, membantu menggambarkan emosi dan tension yang mungkin kurang jika digambarkan secara visual saja. Oleh karena itu, penyusunan  atau composing BGM adalah salah satu aspek yang harus diperhatikan dalam development sebuah game.

Saat ini, kemajuan di bidang IT telah memungkinkan kita untuk menciptakan music tanpa harus merekam permainan musisi asli. DAW (Digital Audio Workstation) dan VST (Virtual Studio Technology) adalah tool yang berperan untuk membantu musisi untuk mewujudkan hal itu. Dalam tulisan kali ini, penulis akan menjelaskan cara membuat BGM game dengan menggunakan DAW FL Studio.

Pengenalan User Interface FL Studio

User Interface FL Studio, bisa dibagi – bagi menjadi region atau wilayah – wilayah seperti ini :

Interface FL Studio, secara garis besar dibagi dalam 6 kelompok :

Toolbar :

Panel tempat kita bisa mengakses banyak command dan option untuk mengkonfigurasi FL Studio.

Channel Windows & Step Sequencer :

Di sini adalah tempat utama user melakukan proses composing. Panel ini berfungsi untuk menempatkan instrument dan memasukkan beat melalui step sequencer. Dari channel ini juga user bisa mengaktifkan Piano Roll. Hasil komposisi step sequencer dan piano roll tersebut akan disimpan dalam pattern – pattern.

Piano Roll :

Tempat memasukkan nada instrument

Browser :

Panel ini memberikan akses cepat ke koleksi preset instrument user.

Playlist :

Playlist adalah tempat user menyusun pattern – pattern menjadi sebuah komposisi musik.

Mixer :

Di panel ini, dilakukan tahap penyelesaian sebuah aransemen musik. Masing – masing instrument dirouting ke channel – channel mixer tersendiri, lalu dilakukan proses tweaking yang disebut Mixing dan Pre-Master / Mastering.

Read more …

Ittou

Self-taught bedroom musician and music composer from Elventales Studio. Using FL Studio as main DAW and Anvil Studio as secondary workstation. Ittou learns many genre of music, but, his main influence is J-Pop, nuJazz and Ethnic music such as Celtic and Gamelan.

Making a shooter game part 7: Background

Sampai juga kita di angka lucky seven dari seri tutorial pembuatan game shooter. Kali ini kita akan membahas tentang pembuatan background dari game kita. Seperti yang sudah anda semua sadari (kalau tidak berartii hebat), bahwa background game kita masih hitam. Sekarang kita akan menambahkan background untuk game kita. Ada dua cara untuk menambahkan background, yang pertama adalah dengan satu gambar background yang seukuran dengan layar / area game kita, atau dengan menggunakan tilesets yang adalah nama lain dari spritesheet untuk background (biasanya untuk top down view).

Di tutorial ini saya akan menggunakan cara kedua, yaitu menggunakan tileset. Langkah pertama adalah mencari tileset yang akan kita gunakan. Saya menemukan satu tileset yang cocok dari opengameart.org yang dibuat oleh qubodup, Bart K, dan Blarumyrran, download tileset di bawah ini

save di folder assets kita, dan kita bisa segera mulai. Buatlah child class dari Entity, berinama Tiles class seperti ini

package
{
	import net.flashpunk.Entity;
	import net.flashpunk.graphics.Tilemap;

	/**
	 * ...
	 * @author Aryadi Perwira Subagio
	 */
	public class Tiles extends Entity
	{
		public var img:Tilemap;

		public function Tiles(tileset:*)
		{
			img = new Tilemap(tileset, 640, 480, 32, 32);
			graphic = img;
		}

	}

}

Read more …

Aryadi Perwira

Self-proclaimed AS3 blackbelt.

More Posts

Quick paint & concepting (ch 2 of newbie drawing)

Halo kembali

Kemarin kita sempat membahas mengenai cara menggambar yang mudah menggunakan flash dengan line tool etc untuk bangunan iso sederhana. kali ini karena keterbatasan waktu dan skill saya :P mungkin saya akan kembali mengangkat cara mudah yang sama jika di terapkan dalam concepting karakter menggunakan tool powerful lain dari adobe yaitu Photoshop.

Untuk idealnya yang biasa saya pergunakan adalah resolusi 200, ukuran kanvas terserah, tapi saya sarankan untuk sesuai dengan ukuran aset ketika akan masuk ke game, ketika ukuran yang dibutuhkan 200×200 ya jangan bikin canvas 1000×1000 :P .

Ok, mungkin saya bukan artis 2d yang baik hehehe, karena metode saya agak random alias mengerjakan dengan sistem yang tidak baku. Intinya pada saat kita build karakter/concepting karakter, saya menggunakan shape sederhana yang mungkin tadinya tidak serumit yang nampak di gambar :P . Pergunakan warna greyscale dan cari shape yang tidak menyulitkan untuk dikembangkan, setelah mendapatkan shape yang ideal, bisa dimulai dengan mengisi shading dasar dan juga highlight ringan. Saya sengaja tidak memasukkan detailing lebih lanjut pada tahap greyscale, karena semua akan ditambahkan pada waktu kita memasukkan warna. Perlu diingat untuk awalan, penggunaan layer warna yang terpisah dari greyscale figurenya penting, supaya tidak terjadi kesalahan yang tidak perlu (sehingga harus merubah bentuk awal).

Sistem ini saya rasa bisa digunakan non artist juga karena, shape / bentuk dasar suatu mahkluk itu bervariasi dan kita bebas berkreasi, memulai dari outline kadang menyulitkan untuk beberapa orang yang tidak memiliki background dasar art. Maka shape jadi pilihan yang lebih nyaman, dimana bentuk dasar bisa di ukir dengan brush satu warna sampai kita mendapat bentuk yang diinginkan.

berikut contoh dasar untuk shaping dan concepting dengan painting . (step by stepnya)

 

itu contoh cepatnya saja untuk mengejar waktu tulis artikel. Basically shaping mungkin menurut saya lebih comfortable buat para non 2d artist untuk bisa merealisasikan apa yang mereka bayangkan mengenai karakter mereka. Shape awal bisa berupa coretan apapun sampai dirasa memenuhi syarat untuk sebuah karakter, mulai di bersihkan shapenya untuk kemudian diisi dengan shading dan line pembantu seperti pada gambar baris ke 3. Penambahan detail dan perubahan detail bisa dilakukan sebelum dan sesudah pewarnaan seperti yang bisa dilihat pada contoh. saya cenderung melakukan perubahan sambil jalan, dikarenakan terkadang perubahan tertentu membutuhkan improvisasi yang muncul setelah warna dimasukkan. Paling tidak anda sudah mendapatkan akan seperti apa karakter anda selanjutnya.

Oh ya, sebelumnya mohon dipahami bahwa selama masa pewarnaan lebih baik menggunakan layer warna yang menggunakan properti color untuk bisa mendapatkan gradasi warna yang diinginkan :D setelah dirasa memenuhi kebutuhan baru di merge dan kemudian menggunakan brush untuk mengoreksi hal2 yang perlu di ubah :D . Untuk amannya di sarankan untuk menggunakan layer yang berbeda dan jangan ditumpuk di satu layer.

Panduan ini mungkin kurang lengkap tapi ya paling ga udah memenuhi kebutuhan dari non artist untuk bisa mengkonsep art yang cukup memuaskan untuk personal use.

 

 

Aditya

Co founder of Teelos, a sick twisted bastard that worked as 2d Artis and also PR.

Website - More Posts

making a shooter game with flashpunk, part 5

Ada yang menyadari kalau judul artikel saya hari ini beda dari biasanya? Pertama, saya menggunakan bahasa Inggris sepenuhnya, bukan hanya satu frase. Kedua, ada akhiran part 5. Ini memang bagian kelima dari tutorial berseri saya, sebelumnya saya sengaja tidak memberi angka di artikel saya, cuma buat tampil beda saja, tapi sekarang sesudah semakin banyak penulis dan artikel, kelihatannya lebih baik saya mulai memberi angka di artikel saya. Kalau anda ketinggalan beberapa artikel sebelumnya, inilah daftar artikel-artikel saya sebelumnya:

  1. Memulai dengan flashpunk dan AS3
  2. Membuat Pesawat menembakkan peluru
  3. Tambahkan musuh, tambahkan ketegangan
  4. Saatnya bullet pattern!

Oke sekarang saatnya kita masuk ke bagian berikutnya dari artikel kita ini, yaitu tentang collision detection. Untuk melakukan collision detection di flashpunk ini gampang sekali karena flashpunk sudah memiliki fungsi-fungsi khusus untuk deteksi tabrakan ini. Hal pertama yang harus kita lakukan adalah mendefinisikan hitbox. Hitbox adalah area berbentuk persegi empat yang dimiliki oleh entity, untuk mendeteksi tabrakan antara satu entity dengan entity lain. Ada 2 cara untuk membuat hitbox, yang pertama adalah menggunakan method setHitbox()

Read more …

Aryadi Perwira

Self-proclaimed AS3 blackbelt.

More Posts

Stop SOPA