Tampilan seperti yang diawah ini :
Puzzle dengan Actionscript 3.0 berbeda dengan Actionscript 2.0 yang saya buat di artikel sebelumnya. untuk di as3 ini kita akan menambahkan kelas untuk drag dan drop object yaitu DragGame.as, HitTestObject.as , HitTestPoint.as dan IHitTestMethod.as yang dapat di download pada link di bawah artikel ini.
ActionScript yang digunakan seperti di bawah ini:
stop();
import com.*;
var score:int = 0;
var dragArray:Array = [kuda_mc, sapi_mc];
var matchArray:Array = [kuda_match, sapi_match];
var posArray:Array = [ {x:214, y:92.7}, {x:383.2, y:92.7} ];
var dragGame:DragGame = new DragGame(stage, dragArray, matchArray, posArray);
dragGame.addEventListener(DragGame.MATCH_MADE, onMatch);
dragGame.addEventListener(DragGame.NO_MATCH, onFlub);
dragGame.addEventListener(DragGame.ALL_DONE, onDone);
//Fungsi yang akan jalan jika posisi puzzle sesuai dengan pasangan objeknya
function onMatch(event:Event):void {
var matchSound:Sound = new MatchSound(); // Objek suara
matchSound.play(); // Akan memainkan suara jika objek sesuai
score +=500; // Menambahkan skor 500
score_txt.text=score.toString(); //Nilai akan tertulis di objek score_txt;
}
//Fungsi yang akan jalan jika posisi puzzle tidak sesuai dengan pasangan objeknya
function onFlub(event:Event):void {
var flubSound:Sound = new FlubSound(); // Objek suara
flubSound.play(); // Akan memainkan suara jika objek tidak sesuai
}
//Fungsi yang akan jalan jika semua puzle telah tersusun sesuai pasangan objeknya masing-masing
function onDone(event:Event):void {
var applause:Sound = new Applause(); // Objek suara
applause.play(); // Akan memainkan suara tepuk tangan jika semua objek telah terpasang sesuai
Remove(); // Menjalankan fungsi remove
nextFrame(); // Melanjutkan ke frame selanjutanya
}
var myTimer:Timer = new Timer(1000,10); // variabel Batas waktu 10 detik
myTimer.addEventListener(TimerEvent.TIMER, onTimer);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete);
myTimer.start(); // Memulai perhitungan waktu
function onTimer(e: TimerEvent):void {
time_txt.text = String(myTimer.repeatCount - myTimer.currentCount);
}
//Fungsi yang akan jalan jika batas waktu telah habis
function onComplete(e: TimerEvent):void{
Remove();
gotoAndStop(4);
}
//Fungsi untuk Menghapus movie clip dan timer yang ada di stage ini supaya tidak muncul lagi di
//Frame berikutnya
function Remove():void{
if (contains (sapi_mc)){
removeChild(sapi_mc)
}
if (contains(kuda_mc)){
removeChild(kuda_mc)
}
myTimer.stop(); //Memberhentikan timer yang sedang berjalan
}
untuk objek puzzle yang akan di drag masukan di array dragArray dan untuk objek yang di pasangkan dimasukan ke array matchArray, kemudian posArray itu adalah posisi x y dari objek yang dipasangkan, dapat dilihat dari properties pada objek yang di pasangkan.
var dragArray:Array = [kuda_mc, sapi_mc];
var matchArray:Array = [kuda_match, sapi_match];
var posArray:Array = [ {x:214, y:92.7}, {x:383.2, y:92.7} ];
Jika teman-teman ingin mencoba silahkan di download di link bawah ini :
disini
Terimakasih, semoga bermanfaat yak.. :)
No comments:
Post a Comment