Membuat Game tangkap telur

Baik, kali ini kita akan membuat game tangkap telur.
Skenario :

  1. Telur jatuh dari atas secara random.
  2. Keranjang digerakkan menggunakan mouse untuk menangkap telur yang jatuh.
  3. Skor akan bertambah jika mendapat telur emas ataupun telur biasa dan akan berkurang jika mendapatkan batu.
  4. Skor :
    Telur Emas : 20
    Telur : 10
    Batu : -10
Langsung aja, kita lanjut ke langkah2nya ;)
  • Seperti biasa, kita buat sebuah dokumen baru.
  • Kemudian buat sebuah gambar telur, dan seleksi telur tersebut. Lalu klik kanan dan pilih Convert to Symbol terus pilih MovieClip. Klik Advance agar tampil lebih banyak lagi, kemudian centang Export for Actionscript, dan ketikkan telur pada Identifiernya. Ingat, Name hanya sebagai penamaan, sedang actionscript mengenali dari penamaan Identifier. Sehingga akan tampil seperti ini.
    telur - convert to symbol
    telur - convert to symbol
  • Buat sebuah gambar lainnya yaitu mangkok, telur emas dan batu. Masing-masing beri identifier mangkok, telur_emas, dan batu. Cara membuatnya sama dengan langkah sebelumnya. :p
  • Jika sudah sekarang kita punya 4 objek nih. :angel:
    jadi semua :P
    jadi semua :P
  • Hapus semua gambar yang ada di stage, cukup tekan Ctrl + A dan delete.. (lho ?? :woot:  tenang aja, gpp kok, selama udah dimasukin library :wink: )
  • Kemudian tambahkan keyframe pada frame 2 dan frame 3 pada Layer 1 , seperti berikut :
    keyframe
    keyframe
  • Maksud dari 3 frame ini adalah frame 1 untuk menu, frame 2 untuk permainan, dan frame 3 untuk game over.
  • Sekarang kita buat bagian menu. Buat sebuah static text dengan tulisan “Game Tangkap Telur“. Kemudian buat sebuah button dengan cara membuat sebuah kotak yang berisi static text kemudian seleksi kotak tersebut beserta tulisannya dan klik kanan pada kotak tersebut lalu pilih Convert To Symbol dan pilih Button. Dobel klik pada area kosong di stage untuk kembali.
    halaman depan
    halaman depan
  • Sekarang kita klik pada tombol/button yang barusan kita buat, kemudian kita tekan F9 untuk menampilkan panel Actions – Button. Kemudian ketikkan script berikut :
    1on(release){
    2    //berpindah ke game (pada frame 2)
    3    gotoAndStop(2);
    4}
  • Kode diatas digunakan untuk memulai permainan / pergi ke frame 2. Sekarang kita klik pada frame 1 Layer 1 dan tekan F9. Ketik stop(); agar timeline header tidak berjalan kemana-mana saat di-test movie.
    stop
    stop
  • Kemudian buat sebuah dynamic text kemudian buka panel properties (Ctrl + F3) dan set score sebagai variablenya (var).
    frame2
    frame2
  • Sekarang kita beralih ke frame 2, caranya dengan mengklik frame 2 pada layer 1. Silakan tulis script berikut :
    01//memanggil mangkok dari library dan ditaruh ke _root (stage)
    02_root.attachMovie("mangkok","mangkok",0,{_x:275,_y:350});
    03//secara berkala setiap 1000 milidetik memanggil fungsi panggilTelur
    04var telurInterval = setInterval(panggilTelur,1000);
    05//secara berkala kurangi waktu setiap 1000 milidetik / 1 detik
    06var waktuInterval = setInterval(kurangiWaktu,1000);
    07
    08//mereset waktu
    09score = 0;
    10waktu = 5;
    11
    12//berjalan secara terus menerus
    13_root.onEnterFrame=function(){
    14    //posisi mangkok ditentukan oleh posisi x dari mouse
    15    mangkok._x = _xmouse;
    16}
    17
    18//fungsi panggilTelur, digunakan untuk memanggil telur dari langit
    19function panggilTelur(){
    20    //menciptakan angka random
    21    var angkaRandom = random(10);
    22    var objekYangDipanggil = "";
    23
    24    //melihat angka random
    25    if(angkaRandom>=0 && angkaRandom<=6){
    26        objekYangDipanggil = "telur";
    27    }else if(angkaRandom>=7 && angkaRandom<=8){
    28        objekYangDipanggil = "telur_emas";
    29    }else{
    30        objekYangDipanggil = "batu";
    31    }
    32    //depth digunakan sebagai kedalaman saat menambahkan movieclip ke stage
    33    var depth = _root.getNextHighestDepth();
    34    //memanggil objek movieclip ke stage
    35    var objek = _root.attachMovie(objekYangDipanggil, objekYangDipanggil+"-"+depth, depth);
    36    objek._x = random(500);
    37    objek._y = 0;
    38    //properti nama digunakan sebagai pengenal
    39    objek.nama = objekYangDipanggil;
    40    //agar objek dapat bergerak
    41    objek.onEnterFrame=function(){
    42        //menggerakkan objek ke bawah
    43        this._y += 10;
    44        //mengecek kondisi jika bersentuhan dengan mangkok
    45        if(this.hitTest(_root.mangkok)){
    46            //menambah atau mengurangi score
    47            if(this.nama == "telur"){
    48                score += 10;
    49            }else if(this.nama == "telur_emas"){
    50                score += 20;
    51            }else{
    52                score -= 10;
    53            }
    54            //kemudian menghapusnya
    55            delete this.onEnterFrame;
    56            this.removeMovieClip();
    57        }
    58        //mengecek kondisi jika objek telah melewati batas
    59        if(this._y>=450){
    60                    //menghapus objek tersebut
    61            delete this.onEnterFrame;
    62            this.removeMovieClip();
    63        }
    64    }
    65}
    66
    67//fungsi kurangi waktu
    68function kurangiWaktu(){
    69    waktu -= 1;
    70    //jika waktu habis, pergi ke game over
    71    if(waktu == 0){
    72        //membersihkan semua objek di stage
    73        for(i=0;i<=_root.getNextHighestDepth();i++){
    74            _root.getInstanceAtDepth(i).removeMovieClip();
    75        }
    76        //menghilangkan semua interval
    77        clearInterval(telurInterval);
    78        clearInterval(waktuInterval);
    79        //pergi ke frame 3
    80        _root.gotoAndStop(3);
    81    }
    82}
  • Seleksi semua yang ada di frame 2, kemudian copy-kan ke frame 3, sehingga kita hanya mengatur posisi dari dynamic text nya.
    frame3
    frame3
  • Beres deh, sekarang tinggal kita tes movie :D

Source code : SINI

1 comments:

Feature

Like Our Fanspage

Diberdayakan oleh Blogger.