Menggunakan Class Timer di ActionScript® 3.0

Kebetulan lagi ada projekan bikin timer pake Flash buat timer lomba PC Assembling di dinamik5, sekalian aja aku nulis blog ini untuk berbagi ilmu juga ke semuanya. Untuk ActionScript 3.0 yang aku pake ini aku terapkan di Adobe® Flash® CS4.

Sebelum kita mulai blognya, penulisnya mau makan dulu ya… hehe

%%%%%%% (Ini tandanya lagi makan ^^)

Oke selesai, sekarang kita mulai blognya..

Ketika kita membangun aplikasi menggunakan Adobe Flash CS4 Professional, yang pasti kita memiliki akses ke timeline, yang menawarkan progres frame by frame di aplikasi kita. Sehingga ketika saya akan membuat sebuah aplikasi timer di Flash, ada 2 cara, yaitu cara membuatnya frame by frame atau membuatnya dengan ActionScript.

1. Secara Frame by Frame

Jika kita membuat aplikasi timer tersebut secara frame by frame tentunya kita membuat teks angka timernya di setiap frame termasuk perubahan. Kita juga dapat menggunakan simbol untuk memudahkan. Dengan cara ini tentunya lebih mudah dalam membuat algoritma dan logikanya karena cara ini sangat simpel, tetapi cara ini lebih melelahkan dan memakan waktu karena kita membuat seluruh teks angkanya secara manual juga aplikasi yang dikembangkan dengan cara ini akan dieksekusi secepat tergantung mesin yang memrosesnya. Ini berarti timer ini akan berjalan lebih cepat di sistem yang cepat dan akan berjalan sangat lebih lambat di sistem yang lambat.  Sementara aplikasi timer ini membutuhkan kekonsistenan pada perhitungan dan kecepatan pada setiap mesin. Sehingga cara frame by frame ini tidak cocok untuk membuat aplikasi timer.

2. Cara ActionScript

Nah ini cara yang lebih canggih dan lebih keren.  Class di ActionScript 3.0 menyediakan solusi yang sangat cocok untuk aplikasi timer. Menggunakan model ActionScript 3.0, terdapat Class yang bernama Timer dan juga terdapat even-even pada timer untuk menspesifikasikan aksi yang dilakukan pada even-even pada timer tersebut. Setelah ini kita akan membahas cara ini.

 

The Timer class

Jalan terbaik untuk mengatur fungsi timing di ActionScript 3.0 adalah dengan menggunakan Timer class (flash.utils.Timer), di mana dapat juga dimasukkan even timer contohnya ketika suatu interval telah dicapai.

Untuk memulai timer, buat sebuah instance dari class Timer, untuk mendefinisikan bagaimana itu menggenerate even timer dan berapa banyak even tersebut dilakukan sebelum timer tersebut berhenti.

Contoh, kode berikut membuat sebuah instance timer yang melakukan even setiap seribu mili detik (satu detik) dan berlanjut sampai 60 kali (60 detik).

var Timersemenit:Timer = new Timer(1000, 60);

Objek Timer juga memiliki even-even yang mendefinisikan apa yang akan dilakukan ketika suatu interval telah tercapai. Tipe objek dari TimerEvent adalah timer (didefinisikan dengan TimerEvent.TIMER). Sangat simpel seperti even-even pada ActionScript 3.0 lainnya. Cara mendefinisikan evennya juga sama dengan even di ActionScript 3.0 lainnya yaitu dengan cara mendefinisikan terlebih dahulu evennya lalu setelah tersebut kita dapat memanggil even tersebut.

Contoh even pada timer misalnya even timerComplete (didefinisikan dengan TimerEvent.TIMER_COMPLETE). Even tersebut berguna untuk mendefinisikan aksi ketika timer sudah mencapai interval akhir (selesai).

Contoh aplikasi timer sederhana dengan even sederhana pada ActionScript 3.0 di Adobe Flash CS4:

package
{
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class Timersederhana extends Sprite
{
Public function TimerSederhana()
{
//pertama buat dulu Timer 5 detik
Var Timerlima:Timer = new Timer(1000,5);
//lalu definisikan evennya
Timerlima.addEventListener(TimerEvent.TIMER, onTick);
Timerlima.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
//mulai timernya
Timerlima.start();
}
//panggil even-even di atas
Public function onTick(event:TimerEvent):void

 

{
//tampilkan perhitungan timernya
Trace(“detik ” + event.target.currentCount);
}
Public function onTimerComplete(event:TimerEvent):void
{
Trace(“Waktu habis!”);
}
}
}

Ketika class Timerlima dibuat, itu akan membuat sebuah instance Timer yang akan berdetik sekali sedetik selama lima kali. Lalu akan dibuat dua buah even listener untuk timer tersebut, yaitu even listener untuk saat timer berdetak yang dinamakan dengan onTick dan even listener saat timer selesai menghitung yang dinamakan dengan onTimerComplete. Setelah timer dimulai maka akan dipanggil kedua even tersebut.

Hasil pada jendela output dari skrip diatas adalah:

detik 1
detik 2
detik 3
detik 4
detik 5
Waktu habis!

 

 

sumber:
Programming ActionScript 3.0 for Flash diterbitkan oleh MY Developer Center. ©2009 Adobe, MY SHEIL Arts, dan MY Fugitive Web.


Comments
2 Responses to “Menggunakan Class Timer di ActionScript® 3.0”
  1. Frans mengatakan:

    Mas, saya newbie banget di dunia flash. Saya pake flash cs4 untuk mulai membuat skripsi saya. Saya sudah download beberapa ebook. Saya coba salah satu ebook, lalu di tutorialnya ada perintah: create a new file and from New Document window select ActionScript 3.0 Class.

    Nah, di Flash yang sudah saya instal di notebook saya, cuma ada ActionScript 3.0, tanpa class. Ketika saya mencoba sebuah program, di output file tidak ada output yang ditulis di tutorial tersebut. Apa yang harus saya lakukan? Terima kasih.

    =.= Semoga Mas mudeng penjelasan saya :p

We need your comment here. Please leave it below.

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: