EnterFrame Event
Enterframe Event merupakan kejadian yang dilakukan secara berulang-ulang sejak inisialisasi listener sampai dengan dihentikannya listener atau aplikasi ditutup. Sebagai contoh event ini digunakan untuk mendapatkan gerakan objek secara terus menerus. Perhatikan contoh berikut :
1. Buatlah
sebuah file baru. Selanjutnya buatlah
sebuah movieclip “animasi burung”, dimana di dalamnya terdapat animasi
burung mengepakkan sayap secara frame by frame.
2. Klik
movieclip “animasi burung” tersebut kemudian buka panel properties dan ketikkan “burung”
pada kolom instance name.
Gambar 137. Movieclip dengan instance name “burung”
3. Buatlah sebuah layer baru (layer 2). Klik frame 1 layer 2 buka panel Action (F9) dan ketikan kode berikut :
4. Jalankan
aplikasi dengan menekan Ctrl+Enter. Maka burung tersebut akan bergerak ke kanan
secara terus menerus sampai keluar dari layar.
5. Selanjutnya
kita dapat menambahkan sedikit logika agar burung tersebut dapat bergerak
secara berulang ke kanan dan ke kiri. Ubah kode pada frame 1 layer 2 menjadi
sebagai berikut :
6. Jalankan
kembali aplikasi dengan menekan Ctrl+Enter, dan burung akan terbang secara berulang ke kanan dan ke kiri.
Penjelasan program :
var kecepatan:int = 5; merupakan
deklarasi kecepatan burung. Nilai dari variabel ini bisa diubah secara dinamis
ketika kondisi tertentu (baris 5) terpenuhi.
function terbang(e:Event):void{...}
merupakan fungsi yang dijalankan secara berulang-ulang setelah kode
addEventListener diaktifkan.
var ob:Object = e.currentTarget;
merupakan deklarasi variabel yang mengacu pada objek yang diperintah oleh
eventListener, dimana dalam hal ini adalah movieclip dengan instance name
“burung”.
ob.x += kecepatan; berarti setiap
frame (karena menggunakan 30 fps, maka setiap 1/30 detik) posisi x dari burung
akan ditambah dengan variabel kecepatan.
if (ob.x > 600 || ob.x < 100) {
.. } adalah kondisi dimana ketika posisi burung terlalu ke kanan atau ( || )
terlalu ke kiri, maka variabel kecepatan akan dikalikan -1;
kecepatan *= -1; berarti ketika
kondisi di atas terpenuhi kecepatan akan dibalik. Jika semula adalah 5 maka
akan menjadi -5, dan ketika kecepatan -5 maka burung akan bergerak ke kiri
sampai kordinat x < 100 dan kondisi if terpenuhi lagi sehingga kecepatan menjadi -5 x -1 = 5; dan burung
bergerak ke kanan kembali.
ob.scaleX =
kecepatan/Math.abs(kecepatan); untuk merubah arah burung dengan menggunakan
skala X. Ketika kecepatan bernilai -5, maka ob.scaleX akan bernilai -5 dibagi
nilai absolut kecepatan (5), sehingga hasilnya adalah -1 dan burung akan
berubah arah (flip horizontal),
“Sumber Informasi”
Thanks for reading EnterFrame Event. Please share...!
