22.4.08

Memulai dengan FlashDevelop - #2 (AS3)

Oke, di bagian pertama sudah dijelaskan bagaimana caranya menggunakan FD dengan AS2. Sekarang kita akan beranjak dengan menggunakan AS3.

Instalasi

Berbeda dengan AS2, FlashDevelop tidak menyertakan kompiler FlexSDK di dalam instalasinya sehingga harus diunduh sendiri. Pada saat artikel ini ditulis, versi terbaru Flex adalah Flex3SDK. Kalau sudah diunduh, ekstrak dan taruh ke direktori yang dikehendaki (misal c:\flex_3_sdk\)

Konfigurasi

Nyalakan FD, kemudian buka Tools > Program Settings... Pilih AS3Context pada daftar Plugins. Cari Flex SDK Location pada bagian AS3 dan isi dengan direktori tempat flex berada (dalam contoh ini, c:\flex_3_sdk\). Tekan Enter dan klik Close. Sudah, hanya itu! :)

Tes koding

Seperti yang sudah-sudah, kita coba yang gampang saja. AS3 memiliki sintaks yang tidak terlalu beda dengan AS2, namun APInya yang jauh berbeda (dan lebih baik) dari AS2. Kita akan buat "HaloDunia" dalam AS3. Saya asumsikan FD sudah terbuka dan hanya menampilkan halaman pembuka.

Pertama, buka Project > New Project

Pilihlah seting Action Script 3 > Empty Project, dan berikan nama proyek kita "HaloDuniaAS3". Tempatkan pula ke direktori yang dikehendaki. Klik OK.

Seperti pada AS2, klik kanan pada nama proyek di panel Project dan kemudian pilih Add > New Class... Isi nama kelas sebagai "Test.as", dan tekan OK. Klik kanan pada nama kelas "Test.as" dan klik pada Always Compile.

Kita tulis kelas "Test.as" kita, seperti ini:
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; public class Test extends Sprite { public function Test() { var tf:TextFormat = new TextFormat("Arial", 14); var tt:TextField = new TextField(); tt.defaultTextFormat = tf; tt.text = "Halo Dunia"; addChild(tt); } } }

Perhatikan perbedaannya dengan AS2. Yang pertama, kelas dibungkus oleh package, semua kelas di AS3 harus berada di dalam suatu "paket", dan ini digunakan agar scope ato hirarki kelas-kelas kita lebih jelas. Kedua, kelas utama harus sub-kelas dari Sprite ato MovieClip, makanya ada kata extends setelah nama kelas. Karena kelas ini adalah sub-kelas dari Sprite, maka dia bisa menggunakan semua method dari Sprite yang memiliki atribut akses protected ato public. Dalam hal ini, untuk menampilkan turunan dari TextField, cukup dengan menuliskan metode addChild dan menaruhnya pada parameter.

Sebelum dicompile, kita lakukan konfigurasi dengan membuka Project > Properties... Pada tab Output, isikan Output file dengan nama file swf, misalnya "haloduniaas3.swf". Isikan pula dimensinya sesuai yang dikehendaki, misalnya saja 300 x 300. Tekan OK.

Sekarang kita compile, tekan F5 atau pada Project > Test Movie...

Mudah kan? :)

Memulai dengan FlashDevelop - #1 (AS2)

Bagi yang udah lama koding di FlashIDE, mungkin beberapa di antara kita mulai menyadari bahwa editor skrip di FlashIDE bener-bener SUX. Untungnya ada segelintir orang yang telah berbaik hati mau menyumbangkan pikiran dan kemampuan mereka untuk masa depan Flash yang lebih baik :). Yang saya maksud tentu saja adalah editor Flash paling oke: FlashDevelop.

Instalasi

FlashDevelop tinggal diunduh dari situsnya yang berbentuk forum. Cari grup forum 'Releases' dan buka yang terbaru (saat artikel ini ditulis sudah sampai versi 3 beta 7). Walaupun versi 3 masih dibilang beta, namun semuanya sudah fungsional dan berjalan baik. Kalo mo pake rilis terakhir (versi 2),.. mm.. mending gak usah deh.. percayalah, terlalu kuno dan saya ragu artikel ini bisa tetap relevan :).

Kalau sudah diunduh, pastikan untuk mengunduh dan menginstal .Net Framework 2.0 dan JDK 1.6 terlebih dahulu. Memang agak merepotkan, tapi menurut saya it's worth it.

Konfigurasi

Tidak perlu konfigurasi :). Karena FD sudah menyertakan MTASC di dalamnya.

Tes koding

Mari kita coba sesuatu yang mudah, "Halo Dunia" di AS2. Saya asumsikan FD sudah terbuka dan hanya menampilkan halaman pembuka.

Pertama, buka Project > New Project..

Biarkan seting "Installed Templates" pada ActionScript 2 > Empty Project. Isi nama proyeknya "HaloDuniaAS2" dan tempatkan pada lokasi direktori yang dikehendaki. Klik OK.

Pada panel Project, klik kanan pada nama proyek (HaloDuniaAS2), kemudian pilih Add > New Class... Isi nama kelas sebagai "Test.as", dan tekan OK. Pada panel Project, seharusnya sudah terlihat cabang dibawah nama proyek dengan ikon file dan nama kelas kita, Test.as. Kalo belum ada, klik ganda nama proyeknya. Klik kanan pada Test.as, dan set Always Compile. Ini akan menjadi kelas utama proyek kita, artinya kelas ini yang dicompile terlebih dahulu.

Kita tulis kelas "Test" kita, kodenya seperti ini:
class Test { public function Test() { var tf:TextFormat = new TextFormat("Arial", 14); var tt:TextField = _root.createTextField("tt", _root.getNextHighestDepth(), 0, 0, 300, 40); tt.text = "Halo Dunia"; tt.setTextFormat(tf); } }

Sebelum dicompile, kita lakukan konfigurasi dengan membuka Project > Properties... Pada tab Output, isikan Output file dengan nama file swf, misalnya "haloduniaas2.swf". Isikan pula dimensinya sesuai yang dikehendaki, misalnya saja 300 x 300. Tekan OK.

Sekarang kita compile, tekan F5 atau pada Project > Test Movie...

Oops.. ternyata gagal. Di bagian status bar tertulis Build Failed. Kalau kita buka Output Panel, kita mendapati pesan seperti Main entry point not found. Ini berarti kita belum menyertakan sebuah fungsi khusus agar bisa jalan dengan benar.

Fungsi itu adalah fungsi main. FD sudah tau kelas apa yang harus dijalankan pertama kali namun dia butuh menjalankan fungsi main dari kelas itu, sehingga kita tambahkan saja sehingga menjadi:
class Test { public function Test() { var tf:TextFormat = new TextFormat("Arial", 14); var tt:TextField = _root.createTextField("tt", _root.getNextHighestDepth(), 0, 0, 300, 40); tt.text = "Halo Dunia"; tt.setTextFormat(tf); } public static function main():Void { var test:Test = new Test(); } }

Compile ulang, sudah bisa kan?

21.4.08

OpenSource Flash

Flash memang keren.. teknologi multimedia pada platform web yang paling banyak dikenal di seluruh dunia (baca: 98% browser di seluruh dunia memiliki plugin flashplayer). Yang awalnya hanya buat animasi splash, kini sudah mulai merambah ke aplikasi di web (RIA -- Rich Internet Applications) dan juga game.

Gak bisa dipungkiri, banyak yang mulai meniti karir sebagai developer game spesialis game flash, karena waktu pengembangan yang lumayan singkat dan pendapatan yang rata-rata lebih dari sekedar cukup :). Terlebih sekarang kita tidak perlu lagi mengembangkan flash dengan FlashIDE dari Adobe (saat artikel ini ditulis, FlashIDE terbaru adalah versi CS3), dengan alat-alat opensource pun kita bisa mengembangkan konten flash, baik itu aplikasi maupun game.

Di bawah ini adalah daftar beberapa alat opensource yang bisa dipakai untuk mengembangkan konten flash:

Kompiler

Dipakai untuk mengubah kode menjadi SWF.

  • MTASC
    Disingkat dari 'Motion-Twin Action Script Compiler', merupakan kompiler konsol pertama yang dapat mengubah kode AS2 menjadi SWF. Dikembangkan oleh Nicolas Cannasse, dan sudah dianggap selesai (tidak dapat dikembangkan lagi).
  • SWFMill
    Dengan menggunakan file XML, kita dapat membungkus media (gambar, font, suara/musik dan juga SWF) ke dalam sebuah SWF. SWF hasil SWFMill biasanya dipakai untuk mengganti peran Library di FlashIDE.
  • Flex
    Adobe mengembangkan kompiler konsol AS3 yang pangsa pasarnya menembak kalangan pengembang RIA, namun kita bisa juga menggunakannya untuk keperluan lain (seperti game).
  • haXe
    Selepas dari MTASC, Nicolas mengembangkan bahasa baru yang khusus untuk keperluan web, yakni haXe. Bahasa yang dapat dijalankan di webserver, di klien sebagai JavaScript, dan juga sebagai flash (versi 6 hingga 9). haXe memiliki sintaks yang mirip dengan AS (karena sama2 berdasarkan ECMAScript)

Editor

Dipakai untuk menuliskan kode dan juga memudahkan di dalam pengelolaannya.

  • FlashDevelop
    Editor yang khusus dibuat untuk developer Flash. Editor ini berbeda dengan FlashIDE dimana tidak tersedianya timeline, sehingga semua dikendalikan melalui kode.

Tertarik? Selamat mencoba-coba :).