Source Code untuk Membuat Game Tangkap Apel Jatuh




stop();
_root.attachMovie("mangkok","mangkok",0,{_x:275,_y:350});
var apelInterval = setInterval(panggilapel,1000);
var waktuInterval = setInterval(kurangiWaktu,1000);

score = 0;
waktu = 20;

_root.onEnterFrame=function(){
//posisi mangkok ditentukan oleh posisi x dari mouse
mangkok._x = _xmouse;
}

//fungsi panggilapel, digunakan untuk memanggil apel dari langit
function panggilapel(){
//menciptakan angka random
var angkaRandom = random(10);
var objekYangDipanggil = "";

//melihat angka random
if(angkaRandom>=0 && angkaRandom<=6){
  objekYangDipanggil = "apel";
  }else if(angkaRandom>=7 && angkaRandom<=8){
  objekYangDipanggil = "apel_emas";
  }else{
  objekYangDipanggil = "batu";
  }
  //depth digunakan sebagai kedalaman saat menambahkan movieclip ke stage
  var depth = _root.getNextHighestDepth();
  //memanggil objek movieclip ke stage
  var objek = _root.attachMovie(objekYangDipanggil, objekYangDipanggil+"-"+depth, depth);
  objek._x = random(500);
  objek._y = 0;
  //properti nama digunakan sebagai pengenal
  objek.nama = objekYangDipanggil;
  //agar objek dapat bergerak
objek.onEnterFrame=function(){
  //menggerakkan objek ke bawah
  this._y += 10;
  //mengecek kondisi jika bersentuhan dengan mangkok
  if(this.hitTest(_root.mangkok)){
  //menambah atau mengurangi score
  if(this.nama == "apel"){
  score += 10;
  }else if(this.nama == "apel_emas"){
  score += 20;
  }else{
  score -= 10;
//membersihkan semua objek di stage jika mengenai batu
for(i=0;i<=_root.getNextHighestDepth();i++){
_root.getInstanceAtDepth(i).removeMovieClip();
}
//menghilangkan semua interval
clearInterval(apelInterval);
clearInterval(waktuInterval);
//pergi ke frame 3
_root.gotoAndStop(3);
  }
  //kemudian menghapusnya
  delete this.onEnterFrame;
  this.removeMovieClip();
  }
  //mengecek kondisi jika objek telah melewati batas
  if(this._y>=450){
               //menghapus objek tersebut
delete this.onEnterFrame;
this.removeMovieClip();
}
}
}

//fungsi kurangi waktu
function kurangiWaktu(){
waktu -= 1;
//jika waktu habis, pergi ke game over
if(waktu == 0){
//membersihkan semua objek di stage
for(i=0;i<=_root.getNextHighestDepth();i++){
_root.getInstanceAtDepth(i).removeMovieClip();
}
//menghilangkan semua interval
clearInterval(apelInterval);
clearInterval(waktuInterval);
//pergi ke frame 3
_root.gotoAndStop(3);
}
}

Komentar