III. Mempersiapkan MovieClip Musuh
Setelah selesai membuat movieclip tokoh yang bisa menembak bagian1 sekarang kita akan mempersiapkan Movieclip musuhnya.Caranya :
1. Movieclip droid
Buka file ironman.fla, kemudian buatlah gambar droid seperti di bawah ini (Tanpa Tangan dan boost):
Kemudian blok semua objek droid lalu klik kanan-->convert to symbol--> pilih opsi Movieclip, lalu buatlah tangan dan boost bergerak seperti tampilan timeline berikut:
2. Movieclip Meledak
Movieclip Meledak digunakan untuk membuat efek ledakan ketika peluru bertabrakan dengan droid, atau ironman bertabrakan dengan droid. berikut tampilan timelinenya :
IV. Membuat SKOR dan HEALTHBAR
Pada bagian bawah stage, tambahkan tulisan berikut :
Pada bagian yang dilingkari adadah jenis dynamic text, yang nantinya akan menjadi perhitungan skor, atur propertiesnya seperti berikut :
Untuk healthbarnya buat seperti ini :
Kemudian convert ke symbol dengan propertis seperti berikut :
Buat Juga movieclip untuk menampilkan tulisan Game Over jika selesai
V. Action Script Untuk Memanggil Musuh
Sisipkan Skrip berikut untuk memanggil musuh,skor, dan healthbar :
// menambahkan background engan nama yang dikenali oleh stage yaitu iron_mc
_root.attachMovie("Background", "background_mc", 0);
// menambahkan iron dengan nama yang dikenali oleh stage yaitu iron_mc
_root.attachMovie("iron","iron_mc",1);
//menambahkan bar untuk nyawa dengan nama yang dikenali oleh stage yaitu health_mc
//di sini lokasi dari healthbar ditentukan dengan x = 380 dan y = 385
_root.attachMovie("HealthBar", "health_mc", 2, {_x:380, _y:385});
//Menyiapkan skor awal = 0;
skor = 0;
//inisialisasi nyawa sebesar 100
var nyawa = 100;
//memberikan timer
var idInterval = setInterval(panggilMusuh, 1000);
_root.onEnterFrame = function() {
//memberikan status game over
if (nyawa<=0) {
// nyawa = 0;
var depth = _root.getNextHighestDepth();
{
_root.getInstanceAtDepth(depth).removeMovieClip();
}
//Memunculkan tulisan Game Over
_root.attachMovie("OVER","OVER1",depth,{_x:0,_y:0});
clearInterval(idInterval);
_root.onMouseMove = function() {
// menghilangkan mouse
Mouse.hide();
// menggerakkan iron_mc
end_mc._x += (_xmouse-end_mc._x);
end_mc._y += (_ymouse-end_mc._y);
};
}
//mengeset agar ukuran dari health_mc menyesuaikan dengan health
health_mc._width = (nyawa/100)*150;
};
// memberikan event ketika mouse bergerak
_root.onMouseMove = function() {
// menghilangkan mouse Mouse.hide();
// menggerakkan iron_mc
iron_mc._x += (_xmouse-iron_mc._x);
iron_mc._y += (_ymouse-iron_mc._y);
};
// memberikan event ketika mouse ditekan
_root.onMouseDown = function() {
// mendapatkan kedalaman, kedalaman digunakan karena pada 1 depth hanya memiliki 1 objek
var depth = _root.getNextHighestDepth();
// menambahkan peluru ke stage
var peluru = _root.attachMovie("Peluru", "peluru_"+depth, depth, {_x:iron_mc._x, _y:iron_mc._y});
// memberikan event enterframe pada peluru
peluru.onEnterFrame = function() {
// menggerakkan peluru
this._x += 10;
// memberikan kondisi jika letaknya melebihi batas
if (this._x>550) {
// menghapus peluru (yang melebihi batas)
removeMovieClip(this);
}
//melakukan perulangan terhadap musuh
var kedalamanMusuhSekarang = _root.getNextHighestDepth()-1;
for (var i = kedalamanMusuhSekarang; i>kedalamanMusuhSekarang-10; i--) {
if (_root["musuh_"+i].hitTest(this)) {
removeMovieClip(_root["musuh_"+i]);
_root.attachMovie("meledak","meledak1",5,{_x:this._x,_y:this._y});
skor +=10;
removeMovieClip(this);
}
}
};
};
function panggilMusuh() {
//mendapatkan angka random yaitu 0 dan 1
var angkaRandom = random(2);
//mendapatkan kedalaman, kedalaman digunakan karena pada 1 depth hanya memiliki 1 objek
var depth = _root.getNextHighestDepth();
if (angkaRandom == 0) {
//memanggil musuh
var musuh = _root.attachMovie("Musuh", "musuh_"+depth, depth, {_x:550, _y:random(400)});
musuh.onEnterFrame = function() {
//menggerakkan musuh ke kiri sebanyak 3 piksel
this._x -= 3;
//memberikan kondisi jika posisi x berada kurang dari 0, maka objek akan dihapus
if (this._x<0) {
removeMovieClip(this);
}
//memberikan kondisi jika musuh bertabrakan dengan iron,
//maka objek akan hilang dan iron akan berkurang darahnya
if (this.hitTest(_root.iron_mc)) {
nyawa -= 10;
_root.attachMovie("meledak","meledak1",5,{_x:this._x,_y:this._y});
removeMovieClip(this);
}
};
}
}
Untuk melihat Hasilnya klik link berikut :
Game Ironman