Berikut ini adalah tutorial untuk membuat game pada HTML5. Berikut cara-caranya:
1. Buat Canvas
dibawah ini adalah kode programnya:
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = 512;
canvas.height = 480;
document.body.appendChild(canvas);
maksud
dari kode tersebut ialah membuat layer atau lahan untuk kita membuat
game dengan tinggi dan lebar yang telah kita tentukan.
2. Memasukan Gambar
dibawah ini adalah kode programnya:
var bgReady = false;
var bgImage = new Image();
bgImage.onload = function () {
bgReady = true;
};
bgImage.src = "images/background.png";
maksud dari kode tersebut ialah memasukan gambar background.png yang ada pada folder images pada website kita.
3. Membuat Object Hero dan Monster
dibawah ini adalah kode programnya:
var heroReady = false;
var heroImage = new Image();
heroImage.onload = function () {
heroReady = true;
};
heroImage.src = "images/hero.png";
var monsterReady = false;
var monsterImage = new Image();
monsterImage.onload = function () {
monsterReady = true;
};
monsterImage.src = "images/monster.png";
var hero = {
speed: 256
};
var monster = {};
var monstersCaught = 0;
maksud
dari kode ini ialah membuat object hero dan monster yang menggunakan
gambar hero.png dan monster.png yang ada pada folder image juga, lalu
mendeklarasikan kecepatan dalam pergerakan hero dan mendeklarasikan
nilai permainan.
4.Pengaturan Tombol Permainan
dibawah ini adalah kode programnya:
var keysDown = {};
addEventListener("keydown", function (e) {
keysDown[e.keyCode] = true;
}, false);
addEventListener("keyup", function (e) {
delete keysDown[e.keyCode];
}, false);
dalam
sebuah permainan tentunya kita diperlukan tombol kontrol untuk
melakukan aksi dari object kita tersebut, oleh karena itu kode di atas
ialah kode yang membuat object merespon atas tombol arah yang kita
tekan.
5. Peraturan Lokasi Object Permainan
dibawah ini adalah kode programnya:
var reset = function () {
hero.x = canvas.width / 2;
hero.y = canvas.height / 2;
monster.x = 32 + (Math.random() * (canvas.width - 64));
monster.y = 32 + (Math.random() * (canvas.height - 64));
};
berikut
ini adalah kode jika hero mengenai monster, maka hero akan di tempatkan
kembali pada tengah-tengah dari canvas dan posisi dari monster di
random kembali agak posisinya tidak monoton.
6.Pengaturan Arah Object Hero
dibawah ini adalah kode programnya:
var update = function (modifier) {
if (38 in keysDown) {
hero.y -= hero.speed * modifier;
}
if (40 in keysDown) {
hero.y += hero.speed * modifier;
}
if (37 in keysDown) {
hero.x -= hero.speed * modifier;
}
if (39 in keysDown) {
hero.x += hero.speed * modifier;
}
kode
diatas ialah kode yang menerangkan pergerakan dari object hero saat
tombol arah pada keyboard di tekan, maka posisi x dan y hero akan
bergerak dengan kecepatan yang telah di deklarasikan sebelumnya.
7. Pengaturan Nilai Permainan
dibawah ini adalah kode programnya:
if (
hero.x <= (monster.x + 32)
&& monster.x <= (hero.x + 32)
&& hero.y <= (monster.y + 32)
&& monster.y <= (hero.y + 32)
) {
++monstersCaught;
reset();
}
};
kode
diatas menerangkan suatu kondisi jika object hero kita telah mengenai
object monster maka nilai dari monstersCought akan bertambah dan akan
memanggil fungsi reset yang akan mereset posisi hero dan merandom posisi
monster.
8. Render Object
dibawah ini adalah kode programnya:
var render = function () {
if (bgReady) {
ctx.drawImage(bgImage, 0, 0);
}
if (heroReady) {
ctx.drawImage(heroImage, hero.x, hero.y);
}
if (monsterReady) {
ctx.drawImage(monsterImage, monster.x, monster.y);
}
ctx.fillStyle = "rgb(250, 250, 250)";
ctx.font = "24px Helvetica";
ctx.textAlign = "left";
ctx.textBaseline = "top";
ctx.fillText("Goblins caught: " + monstersCaught, 32, 32);
};
kode
diatas merupakan pengaturan tampilan dari object-object kita tersebut,
dan memberikan tampilan nilai pada canvas kita tersebut dengan
pengaturan font seperti yang ada pada kode program diatas.
9. Melakukan Pengulangan Game
dibawah ini adalah kode programnya:
var main = function () {
var now = Date.now();
var delta = now - then;
update(delta / 1000);
render();
then = now;
};
pada kode diatas menerangkan perintah saat permainan di ulang dan melakukan render ulang.
10. Memulai Permainan
dibawah ini adalah kode programnya:
reset();
var then = Date.now();
setInterval(main, 1);
diatas merupakan perintah untuk memulai permainan dengan pengaturan-pengaturan yang telah kita buat diatas.
Sumber : http://www.lostdecadegames.com/how-to-make-a-simple-html5-canvas-game/
Tidak ada komentar:
Posting Komentar