Migrasi ke AS3
Posted by admin | Filed under general
ActionScript 3 (AS3) telah diperkenalkan pada saat dirilisnya Adobe Flex Builder 2, pada pertengahan 2006. AS3 mulai mendapatkan popularitas semenjak tahun 2007, pada saat Flash CS3 dirilis. Flash CS3 adalah versi Flash pertama yang dirilis di bawah bendera Adobe, semenjak Macromedia diakuisisi oleh Adobe. AS3 tentu saja diproyeksikan sebagai pengganti AS2. Memang di dokumentasi Flash CS3 disebutkan bahwa untuk kebutuhan pembuatan animasi Flash dengan sedikit scripting, AS2 masih sangat memadai. AS3 lebih ditujukan untuk animasi Flash dengan scripting dalam jumlah besar, karena hasil kompilasi AS3 berjalan jauh lebih cepat dibanding ekivalen-nya dalam AS2. Oh ya, file SWF dengan AS3 hanya dapat dibuka oleh versi terbaru dari Flash Player, versi 9 ke atas.
Lalu untuk apa kita migrasi ke AS3? Untuk pengembang Flex, AS3 sudah harga mati, karena Flex hanya mendukung AS3. Sedangkan Flash CS3 masih mendukung AS2, sehingga developer Flash yang terbiasa dengan AS2 dapat langsung menggunakannya tanpa harus mempelajari bahasa baru. Walaupun demikian, terdapat banyak alasan untuk migrasi ke AS3 bagi para pengembang Flash. Selain karena alasan performa, kesesuaian dengan standar, dan simplisitas, ada beberapa alasan lain kenapa sebaiknya anda, programer AS2 dan desainer Flash, untuk mulai mempelajari AS3.
Alasan pertama adalah interaksi dengan file SWF yang dihasilkan oleh Flex. File dari Flex ditulis dengan AS3. Misalkan kita hendak menggunakan file Flex di dalam file Flash, maka kita harus mengerjakan Flash tersebut dalam bahasa AS3 (FLA with ActionScript 3). Alasan kedua adalah pembuatan komponen Flash untuk Flex. Beberapa komponen populer untuk Flex dibuat menggunakan Flash, misalnya FlexBook dan SpringGraph. Karena Flex hanya mengerti AS3, tentu saja komponen yang dibuat harus menggunakan AS3. Alasan ketiga adalah, project-project terbaru untuk Flash/Flex sebagian besar ditulis menggunakan AS3, seperti misalnya Papervision3D.
Proses Migrasi
Agar lebih mudah dimengerti, saya akan membuat perbandingan antara kode AS2 dan AS3 menggunakan kasus-kasus yang sama, disertai keterangan mengenai tujuan dari kode yang dibuat.
//Menangkap event mouse
//ActionScript 2
on(release){
some_mc.gotoAndPlay();
}
//ActionScript 3
import flash.events.MouseEvent;
private function doPlay(evt:MouseEvent):void{
some_mc.gotoAndPlay();
}
addEventListener(MouseEvent.CLICK, doPlay(event));
Pada contoh AS2, script disimpan pada simbol Button. Dan script diletakkan di dalam event handler button yaitu perintah on();. Sedangkan untuk AS3, script tidak dapat disimpan pada simbol. Script disimpan pada timeline. Salah satu perbedaan utama antara AS3 dan AS3 adalah pada AS3 tidak tersedia perintah on() dan onClipEvent(). Untuk menangkap event, AS3 menggunakan perintah addEventListener(). Untuk lebih jelasnya, perhatikan contoh berikut.
Mengontrol Movie Clip
Di bawah ini adalah contoh script untuk mengontrol 3 buah movie clip (dengan instance name : mc1_mc, mc2_mc, mc3_mc) menggunakan function. Semua kode ditulis pada timeline (frame).
function playmc1Function(event:MouseEvent):void{
mc1_mc.gotoAndPlay("start");
if(mc2_mc.currentFrame==10)
mc2_mc.gotoAndPlay("quit");
if(mc3_mc.currentFrame==10)
mc3_mc.gotoAndPlay("quit");
}
function playmc2Function(event:MouseEvent):void{
mc2_mc.gotoAndPlay("start");
if(mc1_mc.currentFrame==10)
mc1_mc.gotoAndPlay("quit");
if(mc3_mc.currentFrame==10)
mc3_mc.gotoAndPlay("quit");
}
function playmc3Function(event:MouseEvent):void{
mc3_mc.gotoAndPlay("start");
if(mc1_mc.currentFrame==10)
mc1_mc.gotoAndPlay("quit");
if(mc2_mc.currentFrame==10)
mc2_mc.gotoAndPlay("quit");
}
Pada AS2, kode ditulis pada masing-masing button, seperti contoh di bawah ini :
//ActionScript2
on(release){
playmc1Function();
}
Pada AS3, kode ditulis pada timeline, seperti contoh di bawah ini :
//ActionScript3 import flash.events.MouseEvent; b1_mc.addEventListener(MouseEvent.CLICK, playmc1Function); b2_mc.addEventListener(MouseEvent.CLICK, playmc2Function); b3_mc.addEventListener(MouseEvent.CLICK, playmc3Function);
Memasukkan Movie Clip Eksternal
Di bawah ini adalah contoh script untuk memasukkan (load) file swf eksternal menggunakan AS3. Perhatikan penggunaan fscommand pada AS3.
import flash.display.*;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
flash.system.fscommand("fullscreen","true");
var loader:Loader = new Loader();
var container:Sprite = new Sprite();
addChild(container);
function tesLoad(event:MouseEvent):void{
var movieURL:String = "book.swf";
var movieURLReq:URLRequest = new URLRequest(movieURL);
loader.load(movieURLReq);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, conLoaded);
}
function conLoaded(event:Event):void{
container.addChild(loader.content);
}
addEventListener(MouseEvent.CLICK, tesLoad);
Mengatur Objek PV3D
Salah satu project berbasis ActionScript yang sedang populer saat ini adalah PaperVision3D (PV3D). Teknologi PV3D memungkinkan memasukkan objek 3D ke dalam Flash sebagai sebuah objek. PV3D mendukung objek 3D dalam format COLLADA dengan ekstensi .dae.
Di bawah ini adalah contoh script untuk mengatur sebuah objek PV3D (dengan instance name : scene3D) menggunakan AS3. Perhatikan perintah Event.ENTER_FRAME untuk menggantikan perintah onClipEvent(enterFrame) pad AS2.
import flash.events.Event;
function zoomCube(evt:MouseEvent):void {
scene3D.collada.scaleX = (evt.stageX)/200;
scene3D.collada.scaleY = (evt.stageX)/200;
scene3D.collada.scaleZ = (evt.stageX)/200;
}
function rotateCube(evt:Event):void {
scene3D.collada.rotationX += 1;
scene3D.collada.rotationY += 1;
scene3D.collada.rotationZ += 1;
}
addEventListener(MouseEvent.MOUSE_MOVE, zoomCube);
addEventListener(Event.ENTER_FRAME, rotateCube);
Cara terbaik untuk mempelajari suatu bahasa pemrograman adalah dengan langsung mencobanya. Demikian pula halnya dengan AS3. Perbanyak berlatih, nanti juga pasti terbiasa. Satu hal yang harus diingat adalah AS3 sangat berbasis objek dan cara penggunaannya berbeda dengan AS2 (sebagai contoh, AS3 tidak disimpan pada simbol). Untuk membantu proses migrasi ke AS3, coba kunjungi situs actionscriptcheatsheets. Di situs ini anda dapat mendownload berbagai file-file PDF yang berisi rangkuman AS3.
Tags: as3, flash, flex, papervision3D, tutorial
3 Responses to “Migrasi ke AS3”
-
fl4shn00b Says:
September 29th, 2008 at 11:09:31kekekekeke, thx m8, “loader.contentLoaderInfo” saves my deadline.
-
boujack Says:
November 6th, 2008 at 16:11:44ajiiiiiiiiiiiiiiiiiiiiiiiibbbbbbbbbbb…………
oiya,,mas bolh nanya2 ttg AS flash 8 v 2.0 ga ??
aq lg butuh banget nich, soal na lagi buat game tembak2 untuk tugas PSPL (pengembangan Sistem Perangkat Lunak).
thanx….:) -
arisetyo Says:
November 6th, 2008 at 22:11:25@boujack maksudnya ActionScript2 di Flash 8 ?
nanya2 ya boleh tho.. gratis..
tapi jangan yang syusyah-syusyah ya… saya bukan developer game soalnya..



