Friday, December 6, 2013

Tutorial Flash membuat game pesawat part 2



Pada bagian sebelumnya , kita telah membuat pesawatnya ...maka,mari kita buat musuhnya dan membuat pesawatnya menembakan sesuatu xD ..check this out!! ==>
1.Buat musuhnya gan ,sama kek di tutorial sebelumnya :D..(seterah ,mo kotak,lingkaran,dll ..yang penting itu agan anggap musuh :D) ..
convert to symbol
Gambar Kode 1.1
2.maka,bagian ke-2 nya,kita convert musuh tsb menjadi movie clip .. ....(Perhatikan gambar kode 1.1),beri name sebagai : "Musuh" , type "Movie Clip" ..titik registrationnya di tengah ...cekles "Export for ActionScript" ..lalu isi Identifiernya sebagai "Musuh" ..lalu OK!

3.Lalu,buat lagi gan musuh ke-2 nya ..seterah mau agan bentuk seperti apa xD ,Sama seperti pada bagian pertama dan ke dua,tapi isi namanya sebagai "Musuh2" ,type "Movie Clip" ,titik registrationya "tengah" ..dan Identifiernya sebagai "Musuh2" ....

4.Maka,Bagian ke 4..mari kita buat kotak untuk/sebagai bar healthnya ..Gunakan Rectangle Tool atau tekan "R" (coba perhatikan gambar kode 2.2)
Gambar Kode 2.2
5.Ok,bagian ke 5, convert lah healthbar tsb menjadi movie clip dengan nama sebagai "HealthBar" ,type sebagai movie clip,dan identifiernya sebagai "HealthBar" ..dan ingat,titik registrationnya harus berada di kiri (left).

6.OK GAN,bagian ke 6..kita gambar pelurunya ..sama seperti part 1 dan 2 ...jadikan movie clip dengan nama "Peluru" ,identifiernya "Peluru" ,dan titik regis nya di tengah ...dan jangan lu[a

7.Maka pada bagian ke 7, tidak lupa untuk memberi instance name menjadi "player_mc" pada pesawat yang agan buat (pesawat yang akan membasmi musuh..) ,caranya klik pada pesawat mengunakan "Selection Tool" ..dan liat di instance namenya ..

8.Sip,sekarang juga...tekan F9 ,lalu masukan kode brikut ===>
//menambahkan background dengan nama yang dikenali oleh stage yaitu background_mc
_root.attachMovie("Background", "background_mc", 0);
//menambahkan player dengan nama yang dikenali oleh stage yaitu player_mc
_root.attachMovie("Player", "player_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 = 370
_root.attachMovie("HealthBar", "health_mc", 2, {_x:380, _y:370});
//inisialisasi nyawa sebesar 100
var nyawa = 100;
//memberikan timer
var idInterval = setInterval(panggilMusuh, 1000);
//memberikan event enterframe kepada _root agar melakukan tugasnya secara terus menerus
_root.onEnterFrame = function() {
    //menggerakkan background ke arah _x minus (ke kiri)
    background_mc._x -= 3;
    //memberikan kondisi jika background habis, maka ia akan mengulangi
    if (background_mc._x<-1450) {
        //mereset posisi background
        background_mc._x = 0;
    }
    //memberikan status game over
    if (nyawa<=0) {
        nyawa = 0;
        trace("Game Over");
    }
    //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 player_mc
    player_mc._x += (_xmouse-player_mc._x)/5;
    player_mc._y += (_ymouse-player_mc._y)/5;
};
//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:player_mc._x, _y:player_mc._y});
    //memberikan event enterframe pada peluru
    peluru.onEnterFrame = function() {
        //menggerakkan peluru
        this._x += 5;
        //memberikan kondisi jika letaknya melebihi batas
        if (this._x>500) {
            //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]);
                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 player,
            //maka objek akan hilang dan player akan berkurang darahnya
            if (this.hitTest(_root.player_mc)) {
                nyawa -= 10;
                removeMovieClip(this);
            }
        };
    } else {
        //memanggil musuh
        var Musuh2 = _root.attachMovie("Musuh2", "musuh_"+depth, depth, {_x:550, _y:random(400)});
        Musuh2.onEnterFrame = function() {
            //menggerakkan batu ke kiri sebanyak 3 piksel
            this._x -= 2;
            //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 player,
            //maka objek akan hilang dan player akan berkurang darahnya
            if (this.hitTest(_root.player_mc)) {
                nyawa -= 10;
                removeMovieClip(this);
            }
        };
    }
}

-------MUNGKIN,Gamenya akan seperti ini :D ..maaf ya gan jika jelek gamenya :v ..saya juga pemula :3 ..btw,beberapa script ane dapat juga dari Flashindonesia(dot)com.



1 comment:

Menjadi Donatur untuk blog ini hanya dengan 1 klik iklan.