import com.greensock.*; import com.greensock.easing.*; //NO. 1 //variable deteksi keyboard & kecepatan player var gerakAtas:Boolean = false; var gerakBawah:Boolean = false; var gerakKiri:Boolean = false; var gerakKanan:Boolean = false; var kecepatan:int = 4; var jalanNomor:int=1; //saat pertama kali mulai, frame player berhenti di diam_depan player.gotoAndStop(1); //soal transparan soalmc.alpha =0; //tanda di MazeDayak terlihat tanda1.visible = true; tanda2.visible = true; tanda3.visible = true; tanda4.visible = true; tanda5.visible = true; //NO. 8 //buat variable jarak player dengan labirinDayak var jarakatas = player.width/2; var jarakbawah = player.width/2; var jarakkanan = player.width/2; var jarakkiri = player.width/4; //NO. 2 //===================== KEYBOARD DOWN ========================= import flash.events.KeyboardEvent; stage.addEventListener(keyboardEvent.KEY_DOWN, tekantombol); function tekantombol(e:keyboardEvent):void { //jika tombol keyboard atas ditekan if(e.keycode==keyboard.UP) { gerakAtas=true; } //jika tombol keyboard kiri ditekan if(e.keycode==keyboard.LEFT) { gerakKiri=true; } //jika tombol keyboard kanan ditekan if(e.keycode==keyboard.RIGHT) { gerakKanan=true; } //jika tombol keyboard bawah ditekan if(e.keycode==keyboard.DOWN) { gerakBawah=true; } //NO.10 //JIKA PLAYER TERKENA TANDA //TANDA 1 if (player.hitTestObject(tanda1) && tanda1.visible==true) { //tanda1 menjadi tidak terlihat tanda1.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 2 if (player.hitTestObject(tanda2) && tanda2.visible==true) { //tanda2 menjadi tidak terlihat tanda2.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 3 if (player.hitTestObject(tanda3) && tanda3.visible==true) { //tanda3 menjadi tidak terlihat tanda3.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 4 if (player.hitTestObject(tanda4) && tanda4.visible==true) { //tanda4 menjadi tidak terlihat tanda4.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 5 if (player.hitTestObject(tanda5) && tanda5.visible==true) { //tanda5 menjadi tidak terlihat tanda5.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } } //NO. 3 //===================== KEYBOARD UP========================= import flash.events.KeyboardEvent; stage.addEventListener(keyboardEvent.KEY_UP, angkattombol); function angkattombol(e:keyboardEvent):void { if(e.keycode==keyboard.UP) { gerakAtas=false; player.gotoAndStop("diam_belakang"); } if(e.keycode==keyboard.LEFT) { gerakKiri=false; player.gotoAndStop("diam_kiri"); } if(e.keycode==keyboard.RIGHT) { gerakKanan=false; player.gotoAndStop("diam_kanan"); } if(e.keycode==keyboard.DOWN) { gerakBawah=false; player.gotoAndStop("diam_depan"); } //NO.10 //JIKA PLAYER TERKENA TANDA //TANDA 1 if (player.hitTestObject(tanda1) && tanda1.visible==true) { //tanda1 menjadi tidak terlihat tanda1.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 2 if (player.hitTestObject(tanda2) && tanda2.visible==true) { //tanda2 menjadi tidak terlihat tanda2.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 3 if (player.hitTestObject(tanda3) && tanda3.visible==true) { //tanda3 menjadi tidak terlihat tanda3.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 4 if (player.hitTestObject(tanda4) && tanda4.visible==true) { //tanda4 menjadi tidak terlihat tanda4.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } //TANDA 5 if (player.hitTestObject(tanda5) && tanda5.visible==true) { //tanda5 menjadi tidak terlihat tanda5.visible = false; //NO. 12 //panggil fungsi tampilsol() tampilsoal(); } } //NO. 4 //==================== ENTER FRAME ===================== stage.addEventListener(Event.ENTER_FRAME, eframe); function eframe(e:Event):void { //saat gerakan atas=true maka animasi player berada di jalan belakang //dan memanggil fungsi animasiJalan() if(gerakAtas=true) { player.y -=kecepatan; player.gotoAndStop("jalan_belakang"); //NO. 6 //panggil fungsi animasi jalan animasiJalan(); } else if(gerakBawak==true) { player.y +=kecepatan; player.gotoAndStop("jalan_depan"); //NO. 6 //panggil fungsi animasi jalan animasiJalan(); } else if(gerakKiri==true) { player.x -=kecepatan; player.gotoAndStop("jalan_kiri"); //NO. 6 //panggil fungsi animasi jalan animasiJalan(); } else if(gerakKanan==true) { player.x +=kecepatan; player.gotoAndStop("jalan_kanan"); //NO. 6 //panggil fungsi animasi jalan animasiJalan(); } //NO. 7 //ubah variable jalannomor menjadi 1 agar player berhenti else { jalanNomor=1; } //NO. 9 //DETEKSI LABIRINDAYAK while (dayakMC.hitTestPoint(player.x, player.y-jarakatas, true)) { player.y++; } while (dayakMC.hitTestPoint(player.x, player.y+jarakbawah, true)) { player.y--; } while (dayakMC.hitTestPoint(player.x-jarakkiri, player.y, true)) { player.x++; } while (dayakMC.hitTestPoint(player.x+jarakkanan, player.y, true)) { player.x--; } } //NO.5 //========================== FUNGSI ANIMASI JALAN =================== function animasiJalan() { jalanNomor++; if(jalanNomor>=16) { jalanNomor=1; } if(player.body) { player.body.gotoAndStop(jalanNomor); } } //no. 11 //=================== FUNGSI UNTUK MENAMPILKAN SOAL ================= function tampilsoal() { //random angka pada soal soalmc.angka1.text = Math.cell(Math.random()*10); soalmc.angka2.text = Math.cell(Math.random()*10); soalmc.jawaban.text =""; //soal berjalan ketengah stage TweenLite.to(soalmc, 1, {x:400, y:240, alpha:1, ease:Expo.easeOut}); //matikan fungsi tombol keyboard stage.removeEventListener(keyboardEvent.KEY_DOWN, tekantombol); //mainkan musik ketika soal tampil musik2 = new musikkeluarsoal(); ac2 = musik.play(0,1); }