Professional Documents
Culture Documents
MACROMEDIA FLASH
Ariesto Hadi
1. Pendahuluan ................................................................................................................. 3 1. Pengenalan ActionScript ............................................................................................... 7 2. Sintaks .......................................................................................................................... 10 3. Tipe Data ....................................................................................................................... 16 4. Variabel ........................................................................................................................... 20 5. Operator ....................................................................................................................... 26 6. Penggunaan Action ..................................................................................................... 35
PENDAHULUAN
Komputer adalah bidang yang berkembang dengan pesat dan menakjubkan untuk menunjang teknologi informasi. Setiap orang mengharapkan informasi dapat diperoleh dengan cepat dan akurat. Informasi yang diperlukan oleh masyarakat secara umum adalah berita yang dimuat dalam surat kabar, majalah, buku, televisi, internet dan lain-lain. Penyajian seperti presentasi dapat merupakan suatu sarana untuk memberikan informasi yang berisi laporan, usulan dan lain-lain dalam organisasi dan perusahaan. Penyajian presentasi yang komunikatif dan estetis sangat berpengaruh pada pemahaman dan keberhasilan dari informasi tersebut. Perkembangan teknologi informasi dapat meningkatkan kualitas dari penyajian informasi tersebut dengan penyajian yang berbasis multimedia.
1. Definisi Multimedia
Arti multimedia berbeda dari sudut pandang orang yang berbeda. Secara umum, multimedia berhubungan dengan penggunaan lebih dari satu macam cara untuk menyajikan informasi. Rekaman musik hanya menggunakan suara (mungkin disebut "unimedia"), music video adalah bentuk multimedia karena informasi menggunakan suara dan video. [TWA 92]. Dalam dunia komputer, multimedia berhubungan dengan perrangkat lunak yang digunakan dalam pengembangan dengan lebih dari satu cara untuk mernyampaikan informasi kepada pengguna , seperti teks dan suara. Secara teknis, multimedia dalam komputer bukan merupakan hal baru, karena integrasi antara teks dan gambar merupakan komponen utama dalam banyak perangkat lunak aplikasi sudah lama dilakukan. Informasi yang mernyajikan teks dengan diagram meruopakan salah satu contoh yang telah banyak dibuat. Pada saat ini, multimedia mempunyai arti tidak hanya integrasi antara teks dan grafik sedarhana saja, tetapi dilengkapi dengan suara dan animasi. Sambil mendengarkan penjelasan, dapat melihat gambar, animasi maupun membaca penjelasan dalam bentuk teks.
MACROMEDIA FLASH Ariesto Hadi S 3
Teks Hampir semua orang yang biasa menggunakan komputer sudah terbiasa denga teks. Teks merupakan dasar dari pengolahan kata dan informasi berbasis multimedia. Dalam kenyataannya, multimedia menyajikan informasi kepada audiens dengan cepat, karena tidak diperlukan membaca secara rinci dan teliti.
Grafik Secara umum grafik berarti gambar garis (line drawing). Manusia sangat berorientasi pada visual (visual oriented), dan gambar merupakan sarana yang sangat baik untuk menyajikan informasi. Grafik merupakan komponen penting dalam multimedia. Images Secara umum images berarti gambar raster (halftone drawing), seperti foto. Basis data karyawan dengan atribut seperti nama, alamat dan lainnya lebih efektif bila foto karyawan yang bersangkutan dapat ditampilkan. Demikian juga foto-foto seperti gedung dan lain-lain sangat memerlukan penyimpanan yang besar. Hal inilah yang menyebabkan aplikasi multimedia disimpan dalam media penyimpanan yang cukup besar kapasitasnya seperti CD ROM. Animasi Animasi berarti gerakan image atau video, contohnya, gerakan orang yang sedang melakukan suatu kegiatan. Kosep dari animasi adalah sulitnya menggambarkan informasi dengan satu gambar saja, atau sekumpulan gambar, juga tidak dapat menggunakan teks untuk menerangkan informasi. Arsip animasi memerlukan penyimpanan yang jauh lebih besar dari pada satu gambar. Suara Suara dapat lebih memperjelas pengertian yang ditampilkan dengan cara lain. Contohnya, narasi merupakan kelengkapan dari penjelasan yang dilihat melalui video. Suara dapat memberi lebih menjelaskan karakteristik suatu gambar, misalnya musik dan suara efek (sound effect).
Interactive link Sebagian dari multimedia adalah interaktif, dimana pengguna dapat menekan mouse atau obyek pada screen seperti button atau teks dan menyebabkan program melakukan perintah tertentu. Interactive link dengan informasi yang dihubungkannya sering kali dihubungkan secara keseluruhan sebagai hypermedia. Secara spesifik, dalam hal ini termasuk hypertext (hotword), hypergraphics dan hypersound menjelaskan jenis informasi yang dihubungkan. Interactive link diperlukan bila pengguna menunjuk pada suatu obyek atau button supaya dapat mengakses program tertentu. Interactive link diperlukan untuk menggabungkan beberapa elemen multimedia sehingga menjadi informasi yang terpadu. Cara pengaksesan informasi pada multimedia terdapat dua macam, yaitu linier dan non-linier. Informasi linier adalah informasi yang ditampilkan secara sekuensial, yaitu dari atas ke bawah atau halaman demi halaman., sedangkan pada informasi non-linier informasi dapat ditampilkan langsung sesuai dengan kehendak pengguna.
3. Macromedia Flash
Macromedia Flash merupakan standard profesional yang digunakan untuk pembuatan animasi di web. Semakin berkembangnya Macromedia Flash, kini tidak hanya digunakan pada pengembangan web saja, tetapi untuk berbagai keperluan multimedia, baik linier maupun non linier. Pemrograman dengan ActionScript dapat digunakan pembuatan visualisasi di segala bidang terutama aplikasi interaktif dengan basis web. ActionScript adalah pemrograman visual berorientasi objek. Seperti JavaScript, ActionScript merupakan inheritance (penurunan) dari bahasa pemrograman C++. Animasi hasil dari Macromedia Flash dapat diubah ke dalam format lain untuk digunakan pada pembuatan desain web yang tidak langsung mengadaptasi Flash. Animasi tersebut juga dapat digunakan pada pengembangan multimedia dengan Macromedia Director.Macromedia Flash Macromedia Flash merupakan standard profesional yang digunakan untuk pembuatan animasi di web. Semakin berkembangnya Macromedia Flash, kini tidak hanya digunakan pada pengembangan web saja, tetapi untuk berbagai keperluan multimedia, baik linier maupun non linier. Pemrograman dengan ActionScript dapat digunakan pembuatan visualisasi di segala bidang terutama aplikasi interaktif dengan basis web. ActionScript adalah pemrograman visual berorientasi objek. Seperti JavaScript, ActionScript merupakan inheritance (penurunan) dari bahasa pemrograman C++. Animasi hasil dari Macromedia Flash dapat diubah ke dalam format lain untuk digunakan pada pembuatan desain web yang tidak langsung mengadaptasi Flash. Animasi tersebut juga dapat digunakan pada pengembangan multimedia dengan Macromedia Director.
1. PENGENALAN ACTIONSCRIPT
Bahasa Pemrograman ActionScipt merupakan bahasa pemrograman (scripting) yang digunakan dalam Macromedia Flash. Penggunaan scripting ActionScipt digunakan dengan tujuan: - memberikan kebebasan berkreasi bagi desainer - membuat animasi interaktif - dapat menampilkan animasi tertentu (non linier) Pengenalan ActionScipt pada Flash 5 mirip dengan JavaScript. European Computers Manufacturer Association (ECMA) membuat dokumen ECMA-262 yang diambil dari JavaScript, dan ECMA-262 menjadi spesifikasi ActionScript.
Panel Action
Panel Action adalah tempat untuk membuat perintah yang ditujukan pada objek atau frame. Terdapat dua macam panel, yaitu: Normal Mode - memberikan kemudahan bagi pemula untuk membuat script - action dapat dipilih dari daftar - parameter diisi setelah pemilihan action Expert Mode - script ditulis dan diedit langsung pada editor box
Untuk menggunakan panel action: 1. Pilih Window > Action. Standar panel action adalah Normal Mode. Untuk mengubah ke expert mode, klik tanda panah di atas panel action.
Setelah menu yang muncul, dapat dipilih Expert Mode. 2. Untuk membuat membuat action dapat dilakukan dengan klik tanda +, maka akan muncul kotak dengan berbagai pilihan, seperti Basic Actions, Actions, Operators, Fuction dan Objects.
Bila dipilih Basic Actios, maka akan muncul tampilan seperti berikut.
Cara lain adalah sebagai berikut: Klik tanda panah pada pull down menu Basic Actions, maka akan muncul tampilan sebagai berikut.
Action belum aktif karena frame, object atau instance belum dipilh.
SINTAKS 2. SINTAKS
ActionScript mempunyai aturan tata bahasa dan tanda baca tersendiri sehingga mengenali awal dan akhir sebuah pernyataan. Suatu pernyataan diakhiri dengan tanda tanda semicolon (;). Terdapat dua macam syntax, yaitu
l
Dot syntax
Dalam ActionScript, suatu dot (.) digunakan untuk: - menunjukkan property dari method dari object atau movie clip - mengenali target path ke suatu movie clip atau variable. Dot syntax dimulai dengan nama dari objek atau movie clip, diikuti dengan dot,
dan diakhiri dengan property, method, atau variable. Contohnya, Movie clip mempunyai property: _x menunjukkan posisi x axis pada stage. ball._x adalah posisi x axis dari movie clip ball Selain property, movie clip juga mempunyai method play() Ekspresi suatu method dari object atau movie clip mengikuti pola yang sama. Contohnya, method play dari instans ballMc menggerakkan playhead padaTimeline dari ball, seperti pernyataan berikut:
ballMC.play();
Dot syntax juga digunakan untuk dua alias khusus yaitu _root and _parent. - Alias _root berhubungan dengan Timeline utama. - Alias _root dapat digunakan untuk membuat target path yang absolut. Contohnya, pernyataan berikut memanggil fungsi calculate pada fungsi movie clip dari Timeline utama:
_root.functions.calculate();
10
- Alias _parent mengacu pada movie clip bila movie clip tersebut mempunyai hirarki - Alias _parent dapat digunakan untuk membuat target path yang relatif. Contohnya, bila movie clip dog terdapat dalam movie clip animal, pernyataan instance movie clip dog memerintahkan animal untuk berhenti:
_parent.stop();
Slash syntax
Slash syntax digunakan dalam Flash 3 and 4 untuk menunjukkan target path
dari movie clip atau variabel. Sintaks ini masih dapat digunakan pada Flash 5, tetapi tidak disarankan. Dalam slash syntax, slash digunakan untuk menunjukkan target path atau variabel di samping dot syntax.Untuk menunjukkan suatu variabel, nama varabel dituliskan sesudah colon (:).
myMovieClip/childMovieClip:myVariable
myMovieClip.childMovieClip.myVariable
Slash syntax biasanya digunakan dengan action tellTarget, yang juga tidak disarankan.
11
Kurung Kurawal
Pernyataan pada ActionScript dikelompokkan bersama ke dalam satu blok dengan
Semicolons
Suatu pernyataan dalam ActionScript diakhiri dengan semicolon, tetapi bila tanda
tersebut dihilangkan, kompilasi oleh Flash masih dapat dilakukan dengan sukses. Contohnya, pernyataan-pernyataan ini diakhiri dengan semicolcon.
column = passedDate.getDay(); row = 0;
Kurung
Untuk mendefinisikan suatu fungsi, argumen harus ditempatkan di antara tanda
kurung
function myFunction (name, age, reader) { ... }
12
Untuk memanggil suatu fungsi, setiap argumen (parameter) dilewatkan dalam fungsi di antara tanda kurung, seperti berikut.
myFunction (Steve, 10, true);
Tanda kurung juga digunakan untuk mengevaluasi ekspresi di sebelah kiri dari dot pada dot syntax. Contohnya seperti pernyataan berikut, tanda kurung mengakibatkan new color(this) dievaluasi dan membuat suatu objek warna baru.
onClipEvent(enterFrame) { (new Color(this)).setRGB(0xffffff)); }
Bila tidak menggunakan tanda kurung, perlu ditambahkan pernyataan pada code untuk mengevaluasinya.
onClipEvent(enterFrame) { myColor = new Color(this); myColor.setRGB(0xffffff); }
Contohnya, pernyataan berikut menunjukkan bahwa penggunaan huruf besar dan kecil adalah ekivalen.
cat.hilite = true; CAT.hilite = true;
13
Namun, kebiasaan menuliskan secara konsisten, memudahkan ActionScript untuk mengrenali nama fungsi dan variabel dengan baik.
Komentar
Penggunaan komentar (comment) sangat bermanfaat dalam pengembangan
sistem dan pihak lain yang memerlukannya. Dalam ActionScript, komentar diawali dengan tanda //. Komentar digunakan untuk mwemberikan catatan yang diperlukan pada suatu pernyataan. Untuk pernyataan yang sangat sederhana juga diperlukan supaya memudahkan pemahaman bila tertulis dalam catatan.
on(release) { // membuat object baru myDate = new Date(); currentMonth = myDate.getMonth(); // convert month number to month name monthName = calcMonth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDat (); }
Dalam script window, komentar ditampilkan berwarna warna pink, dengan panjang yang tidak terbatas dan tidak mengikuti aturan sintaks atau keywords.
Keywords
Keywords atau kata kunci digunakan untuk keperluan tertentu, sehingga tidak
dapat digunakan sebagai variabel, fungsi atanu nama label. Keywods dalam ActionScript seperti dalam tabel berikut:
14
for function if in
Konstanta
Konstanta adalah nilai tetap yang sudah diisediakan oleh Flash. Contoh konstanta
adalah BACKSPACE, ENTER, QUOTE, RETURN, SPACE, secangkan TAB adalah property dari objek Key yang berhubungan dengan tombol pada keyboard. Untuk memeriksa apakah pengguna menekan tombol Enter, digunakan pernyataan berikut:
15
DA 3. TIPE DATA
Tipe data menggambarkan macam elemen informasi yang dapat ditangani oleh variabel dalam ActionScript. Terdapat dua macam tipe data yaitu Tipe data primitif (string, number, dan Boolean) - mempunyai nilai konstanta, sehingga dapat menangani nilai aktual dari elemen yang ada. Tipe data referensi (movie clip dan object) - mempunyai nilai yang dapat berubah, sehingga berisi referensi dari nilai aktual yang dimiliki oleh elemen.
String
Sebuah string adalah deretan dari karakter seperti huruf, angka dan tanda baca.
Operator tambah
menyambung dua buah string. Dalam ActionScript spasi pada awal atau akhir string diperlakukan sebagai bagian dari string tersebut. Eksprsesi berikut termasuk spasi setelah tanda koma:
Penulisan string sangat sensitif, walaupun ActionScript tidak membedakan antara huruf besar dan kecil untuk nama variabel, instans, label. Contohnya, dua pernyataan berikut menempatkan teks yang berbeda pada variabel field, karena Hello dan HELLO adalah literal string.
16
Untuk memasukkan tanda baca dalam string, daat dimulai dengan karakter backslaeh (\) yang disebut dengan "escaping" karakter. Terdapat beberapa karakter yang ditampilkan pada ActionScript kecuali menggunakan karakter escape. Daftar karakter escape seperti tercantum sebagai berikut.
Escape sequence Character \b \f \n \r \t \ \ \\ \000 - \377 \x00 - \xFF \u0000 - \uFFFF Backspace character (ASCII 8) Form-feed character (ASCII 12) Line-feed character (ASCII 10) Carriage return character (ASCII 13) Tab character (ASCII 9) Tanda petik dobel Tanda Petik tunggal Backslash Byte yang dinyatakan dalam bilangan oktal Byte yang dinyatakan dalam bilangan heksadesimal Karakter yang dinyatakan dalam heksadesimal
Number
Tipe data number adalah double-precision floating-point number. Manipulasi
17
Method dari predifined object Math juga dapat digunakan untuk memanipulasi bilangan. Contoh berikut menggunakan metoda sqrt (square root) untuk menghitung akar dari bilangan 100.
Math.sqrt(100);
Boolean
Boolean adalah tipe data yang mempunyai nilai true atau false. ActionScript
megkonversi nilai true and false menjadi 1 and 0 bila sesuai. Boolean sering digunakan dengan operator logika untuk mengontrol aliran dari script. Contohnya, pada script berikut menggambarkan movie akan berjalan bila variabel password mem;unyai nilai true:
onClipEvent(enterFrame) { if ((userName == true) && (password == true)) { play(); } }
Object
Suatu objek adalah koleksi dari properti, dimana setiap properti mempunyai nama
dan nilai. Nilai dari properti dapat berupa tipe data Flash atau tipe data objek. Hal ini dapat dimungkinkan menempatkan objek di dalam satu sama lain, atau membuatnya 'nest'. Untuk membuat spesifikasi objek dan propertinya dapat digunakan dot (.), seperti contoh code berikut.
employee.weeklyStats.hoursWorked
18
Movie clip
Movie clips adalah simbol yang dapat menjalankan animasi pada Flash movie,
berisi tipe data dan berhubungan dengan elemen grafik. Tipe data movie clip dapat mengontrol simbol movie clip dengan menggunakan metoda dari objek MovieClip. Metoda dapat dipanggil dengan dot (.) operator, seperti contoh berikut.
myClip.play();
19
VARIABEL 4. VARIABEL
Variabel berisi data yang menyimpam informasi. Variabel dapat menangani semua tipe data number, string, Boolean, object, atau movie clip. Penulisan data variabel mempengaruhi perubahan nilai variabel pada saat dinyatakan dalam script. Informasi yang umum dapat disimpan dalam variabel termasuk URL, nama pengguna, hasil dari operasi matematik, jumlah event yang terjadi, atau melakukan klik pada sebuah button. Setiap movie dan instance movie clip mempunyai satu set variabel sendiri dimana setiap variabel mempunyai nilai independen terhadap variabel dari movie atau movie clip lain.
Nama variabel
Nama variabel mengikuti aturan sebagai berikut:
l l l
harus sebuah identifier tidak boleh menggunakan keyword atau Boolean literal (true atau false). harus unik
variabel, seperti number, string, dan lain-lain. Flash mengenali tipe data suatu variabel pada saat variabel tersebut dinyatakan.
x = 3;
Pada ekspresi x = 3, Flash mengevaluasi elemen di sebelah kanan operator dan mengenali bahwa elemen tersebut mempunyai tipe data number. Pernyataan berikutnya mungkin mengubah tipe data dari x; contohnya, x = hello menyebabkan tipe data dari x menjadi string. Variabel yang belum ditentukan nilainya dituliskan dengan undefined.
20
ActionScript mengkonversi tipe data secara otomatis bila ekspresi memerlukannya. Contohnya, pada saat suatu nilai diberikan pada action trace, secara otomatis trace mengkonversi nilai ke dalam string dan mengirimkannya. Dalam ekspresi dengan operator, bila diperlukan tipe data dikonversi. Contohnya, pada saat mengguanakan string, operator + menghendaki operan yang lain juga string.
Next in line, number + 7
ActionScript mengkonversi bilangan 7 ke dalam string 7 dan menambahkan pada akhir string sehingga hasilnya seperti berikut:
Pada saat melakukan debug scripts, tipe data dikenali dari ekspresi atau variabel. Hal ini dapat dilakukan dengan menggunakan oparator typeof, seperti contoh:
trace(typeof(variableName));
Konversi string ke dalam nilai numerik, dapat dilakukan dengan fungsi Number. Sebaliknya, untuk melakukan konversi nilai numerik ke dalam string, dapat digunakan fungsi String..
digunakan bersama seluruh Timelines, sedangkan variabel local hanya disediakan untuk satu blok dari code (antara kurung kurawal). Pernyataan var dapat digunakan untuk mendeklarasikan variabel local dalam suatu script. Contohnya, variabel i dan j sering digunakan untuk menghitung perulangan. Pada contoh berikut i hanya digunakan sebagai variabel local; variabel tersebut hanya ada dalam fungsi makeDays.
21
function makeDays() { var i for( i = 0; i < monthArray[month]; i++ ) { _root.Days.attachMovie( DayDisplay, i, i + 2000 ); _root.Days[i].num = i + 1; _root.Days[i]._x = column * _root.Days[i]._width; _root.Days[i]._y = row * _root.Days[i]._height; column = column + 1; if (column == 7 ) { column = 0; row = row + 1; } } }
Variabel local juga dapat digunakan untuk menghindari kolisi karena kesalahan dalam movie. Contohnya, suatu nama untuk variabel local, dapat digunakan untuk menyimpan nama pengguna dalam suatu konteks dan nama instans movie clip lain. Hal ini disebabkan oleh perbedaan jangkauan variabel, sehingga tidak akan terjadi kolisi. Dalam suatu fungsi, sebaiknya menggunakan variabel local, sehingga fungsi tersebut dapat dijalankan sebagai code yang independen. Variabel local hanya berubah oleh code dalam blok dimana variabel tersebut berada. Ekspresi dari fungsi yang menggunakan variabel global, menyebabkan suatu nilai di luar fungsi dapat berubah.
Deklarasi variabel
Untuk mendeklarasikan variabel global, digunakan action setVariables atau opera-
tor assignment (=), keduanya mempunyai hasil yang sama. Untuk mendeklarasikan variabel local dapat digunakan pernyataan var dalam blok dari fungsi. Variabel local berlaku dalam blok fungsi dan tidak berlaku setelah akhir dari blok tersebut. Catatan: action call juga menciptakan variabel local yang mempunyai jangkauan dimana script dipanggil. Bila terdapat script yang dipanggil, jangkauan variabel hilang.
22
namun hal ini tidak disarankan, karena action call dihapus oleh action with yang lebih kompatibel dengan dot sytntax. Untuk memeriksa nilai variabel, dapat menggunakan action trace untuk mengirimkan nilai pada Output window. Contohnya, trace(hoursWorked) mengirimkan nilai variabel hoursWorked ke Output window dalam mode test-movie. Nilai variabel juga dapat diperiksa dan diatur pada Debugger dalam mode test-movie.
ekspresi. Dalam contoh berikut, nilai variabel tidak akan dikenali dalam script dan script akan menghasilkan kesalahan.
getURL(myWebSite); myWebSite = http://www.shrimpmeat.net;
Variabel myWebSite harus dideklarasikan lebih dulu sehingga variabel dalam action getUrl dapat diberikan nilai. Nilai variabel dapat diubah berkali-kali dalam script. Pengaruh perubahan sangat dipengaruhi oleh tipe data yang disimpan oleh variabel. Tipe data primitif seperti string dan number dapat menerima setiap nilai. Pada contoh berikut, x diberi nilai 15, dan nilainya disalin ke dalam y. Bila x berubah menjadi 30, nilai y tetap 15.
var x = 15; var y = x; var x = 30;
Contoh lain, variabel in berisi nilai primitif 9, sehingga nilai tersebut dapat dilewatkan oleh fungsi sqrt dan mengembalikan nilai 3.
23
Tipe data object dapat berisi informasi yang luas dan kompleks, karena veriabel dengan tipe data ini tidak mempunyai nilai aktual. Variabel ini mempunyai hubungan dengan suatu nilai, seperti alias yang menunjuk isi dari suatu variabel. Contoh berikut memperlihatkan nilai dengan melewatkan referensi.
var myArray = [tom, dick]; var newArray = myArray; myArray[1] = jack; trace(newArray);
Code di atas membuat objek Array myArray yang mempunyai dua elemen.Variabel newArray diciptakan dan dilewatkan secara referensi dengan myArray. Pada saat elemen kedua dari myArray berubah, mengakibatkan perubahan pada semua variabel yang mempunyai referensi terhadapnya. Action trace akan mengirim [tom, jack] pada Output window. Pada contoh berikutnya, myArray berisi sebuah objek Array, kemudian dilewatkan sebagai referensi dengan fungsi zeroArray, dimana fungsi tersebut mengubah isi dari array dalam myArray.
function zeroArray (array) { var i; for (i=0; i < array.length; i++) { array[i] = 0; } }
24
var myArray = new Array(); myArray[0] = 1; myArray[1] = 2; myArray[2] = 3; var out = zeroArray(myArray)
Fungsi zeroArray menerima objek Array sebagai argumen dan memberi nilai semua elemen 0. Hal ini dapat mengubah array karena array dilewatkan sebagai referensi. . Referensi pada semua objek selain movie clips adisebut hard references karena bila suatu objek dihubungkan dengan referensi, objek tersebut tidak dapat dihilangkan. Referensi pada movie clip adalah referensi khusus yang disebut soft reference. Soft reference tidak memaksakan objek untuk ada. Bila movie clip dihilangkan dengan suatu action seperti removeMovieClip, setiap referensi kepadanya tidak akan bekerja.
25
OPERATOR 5. OPERATOR
Operator adalah karakter yang mempunyai karekteristik spssifik untuk menggabungkan, membandingkan atau mengubah nilai suatu ekspresi. Elemen dimana operator melakukan performansi disebut operan. Contohnya, operator + menambahkan nilai literal numerik pada nilai variabel foo; sedangkan foo dan 3 adalah operan.
foo + 3
1. Operator precedence
Bila dua atau lebih operator digunakan pada suatu pernyataan, beberapa operator mendapatkan prioritas lebih tinggi dari lainnya. ActionScript mengikuti hirarki dengan pasti untuk menjelaskan operator yang mana mendapatkan prioritas pertama. Contohnya, perkalian selalu dilakukan lebih dulu dari penjumlahan, namun tanda kurung menyebabkan prioritas diberikan kepada operator yang berada di dalam kurung.
total = 2 + 4 * 3;
Hasil perhitungan 18. Untuk mengetahui urutan prioritas dapat dilihat pada daftar oparator.
26
Operator
Description Associativity
Highest Precedence + ~ ! not ++ () [] . ++ new Unary plus Unary minus Bitwise ones complement Logical NOT Logical NOT (Flash 4 style) Post-increment Post-decrement Function call Array element Structure member Pre-increment Pre-decrement Allocate object Right to left Right to left Right to left Right to left Right to left Left to right Left to right Left to right Left to right Left to right Right to left Right to left Right to left Right to left Right to left Right to left Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right
delete Deallocate object typeof Type of object void * / % + add << >> >>> < <= > >= Returns undefined value Multiply Divide Modulo Add String concatenation (formerly &) Subtract Bitwise Left Shift Bitwise Right Shift Bitwise Right Shift (Unsigned) Less than Less than or equal to Greater than Greater than or equal to
27
Less than (string version) Less than or equal to (string version) Greater than (string version) Greater than or equal to (string version) Equal Not equal Equal (string version) Not equal (string version) Bitwise AND Bitwise XOR Bitwise OR Logical AND Logical AND (Flash 4) Logical OR Logical OR (Flash 4) Conditional Assignment
Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Left to right Right to left Right to left
*=, /=, %=, +=, -=, &=, |=, ^=, <<=, >>=, >>>= Compound assignment Right to left , Multiple evaluation Left to right
Lowest Precedence
2. Operator asociatif
Bila dua atau lebih oparator bersama-sama mempunyai prioritas sama, asosiatif menentukan bahwa urutan dilakukan menurut performasinya. Asosiatif dapat terjadi dari kiri ke kanan atau dari kanan ke kiri. Contohnya, perkalian mempunyai asosiatif kiri ke kanan, sehingga kedua pernyataan berikut ekivalen.
total = 2 * 3 * 4; total = (2 * 3) * 4;
28
3. Operator numerik
Operator numerik (numeric operator) seperti tambah, kurang, kali, bagi, menjalankan operasi aritmatika. Tanda kurung dan minus juga termasuk dalam operator aritmatika. Operator numerik seperti pada daftar berikut:
Operator + * / % ++ Operation performed Tambah Perkalian Pembagian Modulo Kurang Penambahan Pengurangan
4. Operator pembanding
Operator pembanding (comparasion oparator) membandingkan nilai pada suatu ekspresi dan mengembalikan nilai Boolean (true atau false). Operator ini biasa digunakan pada perulangan dan pernyataan kondisi. Pada contoh berikut, bila variable score adalah 100, movie tertentu diambil; bila tidak, movie lain dijalankan.
if (score == 100) {loadMovie(winner.swf, 5);} else {loadMovie(loser.swf, 5);}
29
Operation performed Lebih kecil dari pada Lebih besar dari pada Lebih kecil atau sama dengan Lebih besar atau sama dengan
5. Operator string
Operator + mempunyai akibat khusus bila digunakan untuk operasi pada string, yaitu menggabungkan dua operan string. Contoh berikut menjelaskannya.
Congratulations, to Donna!: Congratulations, + Donna!
Hasil dari operasi tersebut adalah Congratulations, Donna! Bila hanya ada satu operator string +, Flash mengkonversi operan menjadi string. Operator pembanding >, >=, <, and <=juga mempunya akibat khusus bila digunakan untuk operasi pada string. Operator ini membandingkan yang mana mendahului dalam urutan alfabet. Operator pembanding hanya membandingkan string bila kedua operan adalah string. Bila hanya satu operan string, ActionScript mengkonversi kedua operan menjadi number dan membandingkan sebagai pembanding numerik.
30
Operator && || !
7. Operator bitwise
Operator bitwise memanipulasi angka floating points dan berubah menjadi integer 32 bit yang lebih mudah dikerjakan. Operator bitwise mengevaluasi 8 digit angka floating point terpisah untuk menghitung nilai baru. Tabel berikut berisi daftar operator bitwise.
Operator & | ^ ~ << >> >>> Operation performed Bitwise And Bitwise Or Bitwise Xor Bitwise Not Shift left Shift right Shift right zero fill
31
32
Dot operator dan array oparator mempunyai peranan yang sama, tetapi mempunyai perbedaan sebegai berikut:
l l
dot operator menggunakan identifier sebagai properti array access operator untuk mengisi dan mengakses isi dari array
rocket.velocity; rocket[velocity];
Contohnya, kedua pernyataan mengakses variabel velocity pada movie clip rocket.
Array access operator digunakan untuk mengatur dan mengambil nama instans dan variabel secara dinamis. Pada contoh berikut, ekspresi di dalam operator [ ] dievaluasi dan hasil evaluasi digunakan sebagai nama variabel yang diambil dari nama movie clip.
name[mc + i ]
Array access operator juga dapat digunakan pada sebelah kiri pernyataan assignment. Hal ini mengikuti secara dinamis inisialisasi nama instance, variabel, and objek.
name[index] = Gary;
Array access operator dapat juga nested dengan dirinya sendiri untuk menggambarkan array multidimensi.
chessboard[row][column]
33
Acion bersarang dapat dibuat dengan menggunakan satu action dalam action lain, sehingga action akan saling mempengaruhi. Dalam contoh berikut, action if memerintahkan gotoAndPlay untuk dieksekusi
if (i >= 25) { gotoAndPlay(10);}
Action dapat menggerakkan playhead pada Timeline (gotoAndPlay), kontrol aliran script dengan perulangan (do while) atau kondisi logika (if), atau membuat fungsi dan variabel baru (function, setVariable). Tabel berikut berisi daftar semua action.
Actions
break call comment continue evaluate for for...in fsCommand include loadMovie loadVariables nextFrame nextScene delete do...while duplicateMovieClip function getURL gotoAndPlay gotoAndStop else else if if ifFrameLoaded prevFrame prevScene stop stopAllSounds var while on onClipEvent play setVariable setProperty startDrag stopDrag trace unloadMovie print printAsBitmap removeMovieClip return stopDrag swapDepths tellTarget toggleHighQuality
34
loadMovie loadVariables unloadMovie setProperty startDrag duplicateMovieClip removeMovieClip print printAsBitmap tellTarget
Contohnya, action loadMovie menggunakan argumen URL, Location, dan Variables. URL adalah lokasi dari movie pada yang akan diambil. Location adalah target path yang akan dimasukkan ke dalam movie yang dikehendaki.
loadMovie(URL, Location, Variables);
Catatan: Argumen Variables tidak diperlukan dalam contoh berikut. Pernyataan berikut mengambil URL http://www.mySite.com/myMovie.swf ke dalam instans bar pada Timeline utama, _root; _root.bar adalah target path;
loadMovie(http://www.mySite.com/myMovie.swf, _root.bar);
Dalam ActionScript suatu movie clip dapat dikenali dari nama instans. Contohnya, pada pernyataan berikut, properti _alpha dari movie clip star diberi nilai dengan 50% visibility:
star._alpha = 50;
35
36
37
2. Action perulangan
ActionScript dapat melakukan perulangan sebanyak tertentu atau selama kondisi tertentu berlaku. Penggunaan while, do...while, for, dan for...in pada action untuk menciptakan perulangan.
Pernyataan while
Perulangan while mengevaluasi suatu ekspresi dan mengeksekusi code dalam blok bila ekspresi tersebut true. Setelah semua pernyataan dalam blok tersebut dieksekusi, ekspresi dievaluasi lagi. Pada contoh berikut, perulangan dilakukan empat kali.
i=4 while (i > 0) { myMC.duplicateMovieClip(newMC + i, i ); i - -; }
Pernyataan do...while dapat digunakan untuk perulangan yang sama. Pada perulangan do...while ekspresi dievaluasi di bawah dari blok code, serhingga perulangan selalu dilakukan laping sedikit sekali., eperti contoh berikut.
i=4 do { myMC.duplicateMovieClip(newMC +i, i ); i--; } while (i > 0);
Pernyataan for
Hampir semua perulangan menggunakan counter yang digunakan untuk mengontrol berapa banyak perulangan dilakukan. Suatu variabel dapat dideklarasikan dan menuliskan pernyataan yang menambah atau mengurangi setiap kali perulangan dieksekusi. Contoh berikut menggambarkan penggunaan pernyataan for.
MACROMEDIA FLASH Ariesto Hadi S
38
Pernyataan for..in
Turunan termasuk movie clip lainnya, fungsi, objek, dan variabel. Contoh berikut menggunakan trace untuk mencetak hasil pada Output window:
myObject = { name:Joe, age:25, city:San Francisco }; for (propertyName in myObject) { trace(myObject has the property: + propertyName + , with the value: + myObject[propertyName]); }
Script kadang-kadang diperlukan untuk membuat perulangan pada tipe tertentu dari turunan, contohnya, hanya pada tununan movie clip. Pernyataan for...in digunakan dalam konjungsi dengan oparator typeof.
for (name in myMovieClip) { if (typeof (myMovieClip[name]) == movieclip) { trace(I have a movie clip child named + name); } }
39
1. Memanggil fungsi
Fungsi dapat dipanggil pada setiap Timeline, termasuk mengambil movie. Setiap fungsi mempunyai karakteristik dan keharusan tertentu untuk melewatkan suatu nilai. Bila argumen yang dilewatkan lebih banyak dari pada persyaratan yang ada pada fungsi, nilai lainnya akan diabaikan. Bila tidak dilewatkan persyaratan argumen, argumen yang kosong dinyatakan sebagai tipe data undefined, yang dapat menyebabkan kesalahan pada saat script diekspor. Untuk memanggil fungsi harus berada dalam frame yang terjangkau oleh playhead. Daftar berikut berisi macam-macam predefined function:
Boolean escape eval false getProperty getTimer getVersion globalToLocal hitTest int isFinite isNaN keycode localToGlobal maxscroll newline number parseFloat parseInt random scroll String targetPath true unescape
40
initialize();
41
42
7. CUSTOM FUNCTION
Fungsi dapat ditentukan untuk mengeksekusi serangkaian pernyataan dan melewatkan nilai. Fungsi juga dapat mengembalikan nilai. Sekali fungsi ditentukan, fungsi tersebut dapat dipanggil dari setiap Timeline, termasuk Timeline movie yang berjalan. Suatu fungsi dapat merupakan black box pada saat fungsi dipanggil, dilengkapi dengan input (argumen). Hal ini menampilkan beberapa operasi dan menghasilkan nilai output (nilai yang dikembalikan). Fungsi yang ditulis dengan baik dan sangat teliti menempatkan komentar tentang input, output dan kegunaan dari pernyataan.
Catatan: Keyword this, digunakan pada blok fungsi adalah referensi ke movie clip yang dimiliki oleh fungsi. .
MACROMEDIA FLASH Ariesto Hadi S 43
Fungsi juga dapat ditentukan dengan membuat literal function. Literal function dapat digunakan untuk mengembalikan nilai dan memberi nilai suatu variabel pada ekspresi, seperti contoh berikut.
Bila suatu fungsi dipanggil, argumen yang diperlukan harus dilewatkan pada fungsi tersebut. Contohnya, scorecard adalah nama instans dari movie clip; mempunyai
score yaitu field input dari instans. Fungsi berikut memanggil variabel dan menampilkan
Argumen initials pada fungsi fillOutScorecard serupa dengan variabel local yang keberadaannya ditentukan oleh pemanggilan fungsi. Bila argumen itu dihilangkan selama fungsi dipanggil, argumen dinyatakan sebagai undefined. Bila terdapat argumen lain yang tidak diperlukan, maka argumen tersebut akan diabaikan.
44
Beberapa fungsi menampilkan sejumlah permintaan, tanpa mengembalikan nilai. Contohnya, fungsi berikut menginisialisasi beberapa variabel global,
function initialize() { boat_x = _root.boat._x; boat_y = _root.boat._y; car_x = _root.car._x; car_y = _root.car._y; }
45
5. Memanggil fungsi
Untuk meminta suatu fungsi dapat dilakukan dengan menggunakan Action Panel pada Normal Mode. Fungsi dapat dipanggil dari setiap Timeline, termasuk mengambil movie. Contohnya, pernyataan ini meminta fungsi sqrt pada movieClip MathLib.
46