Pertama kita import sebuah gambar ke dalam stage dari sprite gratis, cari gambar di lokasi Scion Developer Toolbox\Sprites\Set 1\alienship_color.png.
alienship
Kemudian kita pilih gambar tersebut dan klik kanan dan convert to symbol kemudian pilih movieclip MovieClip. Ganti identifiernya menjadi Musuh.
convert to symbol
Kemudian import lagi, namun kali ini yang diimport adalah gambar batu. Coba liat di Scion Developer Toolbox\Sprites\Set 1\moon_color.png.
batu
Pastikan batu masih dalam keadaan terseleksi, kemudian klik kanan dan pilih Convert To Symbol, kemudian pilih menjadi Movieclip kembali. Masukkan Batu sebagai identifier.
batusymbol
Kemudian kita gambar sebuah kotak berukuran 150pixel x 25 pixel.
kotak
Kemudian kita convert menjadi movieclip, kotak ini digunakan sebagai health bar atau sebagai pengukur nyawa. Ketik HealthBar sebagai identifiernya. Ingat, titik registrasi (registration) harus berada di kiri.
healthbar
Setelah selesai, kita hapus semua movieclip yang ada di stage.
Sekarang kita beralih ke ActionScripting..
Klik pada frame 1, karena kita akan meletakkan script kita pada frame, kemudian tekan F9 untuk menampilkan panel Actions – Frame. Tambahkan script yang sudah ada hingga menjadi seperti di bawah ini :
001
//menambahkan background dengan nama yang dikenali oleh stage yaitu background_mc
//mendapatkan kedalaman, kedalaman digunakan karena pada 1 depth hanya memiliki 1 objek
040
var depth = _root.getNextHighestDepth();
041
//menambahkan peluru ke stage
042
var peluru = _root.attachMovie("Peluru", "peluru_"+depth, depth, {_x:player_mc._x, _y:player_mc._y});
043
//memberikan event enterframe pada peluru
044
peluru.onEnterFrame = function() {
045
//menggerakkan peluru
046
this._x += 5;
047
//memberikan kondisi jika letaknya melebihi batas
048
if(this._x>550) {
049
//menghapus peluru (yang melebihi batas)
050
removeMovieClip(this);
051
}
052
//melakukan perulangan terhadap musuh
053
var kedalamanMusuhSekarang = _root.getNextHighestDepth()-1;
054
for(var i = kedalamanMusuhSekarang; i>kedalamanMusuhSekarang-10; i--) {
055
if(_root["musuh_"+i].hitTest(this)) {
056
removeMovieClip(_root["musuh_"+i]);
057
removeMovieClip(this);
058
}
059
}
060
};
061
};
062
function panggilMusuh() {
063
//mendapatkan angka random yaitu 0 dan 1
064
var angkaRandom = random(2);
065
//mendapatkan kedalaman, kedalaman digunakan karena pada 1 depth hanya memiliki 1 objek
066
var depth = _root.getNextHighestDepth();
067
 + if(angkaRandom == 0) {
068
//memanggil musuh
069
var musuh = _root.attachMovie("Musuh", "musuh_"+depth, depth, {_x:550, _y:random(400)});
070
musuh.onEnterFrame = function() {
071
//menggerakkan musuh ke kiri sebanyak 3 piksel
072
this._x -= 3;
073
//memberikan kondisi jika posisi x berada kurang dari 0, maka objek akan dihapus
074
if(this._x<0) {
075
removeMovieClip(this);
076
}
077
//memberikan kondisi jika musuh bertabrakan dengan player,
078
//maka objek akan hilang dan player akan berkurang darahnya
079
if(this.hitTest(_root.player_mc)) {
080
nyawa -= 10;
081
removeMovieClip(this);
082
}
083
};
084
} else{
085
//memanggil musuh
086
var batu = _root.attachMovie("Batu", "musuh_"+depth, depth, {_x:550, _y:random(400)});
087
batu.onEnterFrame = function() {
088
//menggerakkan batu ke kiri sebanyak 3 piksel
089
this._x -= 2;
090
//memberikan kondisi jika posisi x berada kurang dari 0, maka objek akan dihapus
091
if(this._x<0) {
092
removeMovieClip(this);
093
}
094
//memberikan kondisi jika musuh bertabrakan dengan player,
095
//maka objek akan hilang dan player akan berkurang darahnya
096
if(this.hitTest(_root.player_mc)) {
097
nyawa -= 10;
098
removeMovieClip(this);
099
}
100
};
101
}
102
}
Di situ dijelaskan _root["musuh_"+i], sebenarnya hal tersebut adalah cara lain untuk Eval. misal di stage kita mempunyai sebuah movieclip yang memiliki instance name musuh_1, musuh_2, musuh_3, maka kita bisa mendapatkannya dengan mudah yaitu dengan cara
1
for(var i=1;i<=3;i++){
2
//mengubah semua objek memiliki property x = 200
3
_root["musuh_"+i]._x = 200;
4
}
Oke, sekarang kita tes movienya ;)
Game Pesawat 3.0
Rating: 4.5
Diposkan Oleh: Catatanku