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
Posting Komentar