Latest Blog

Multimedia Interaktif Tata Surya
Membuat Multimedia Pembelajaran Interaktif tentang tata surya
ALL BLOG
;
Membuat Efek Zoom
Pendahuluan
Pada tutorial ini dijelaskan secara singkat membuat efek zoom. Efek yang dimaksud adalah ketika mouse melintas di atas sebuah gambar, maka akan muncul sebuah gambar yang lebih besar (seperti efek kaca pembesar). Hasil dari tutorial ini adalah sebagai berikut :
Penambahan Kode Actionscript 3.0 untuk efek zoom
Teknik yang dipakai dalam tutorial ini untuk efek zoom adalah dengan menggunakan metode draw bitmapData. Sebuah gambar (bitmap), yang telah diconvert menjadi MovieClip ditambahkan sebuah instance name. Selanjutnya dengan menggunakan fungsi add_zoom(Movieclip_yang_akan_di_zoom, skala_pembesaran) secara otomatis akan menambahkan efek zoom pada movieclip tersebut. Berikut kode yang dituliskan dalam aplikasi :
import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.Event; //code by wandah.org 2015 var zoomer:zoom_mc; var zoomed:MovieClip; var zoom_val:Number = 1; function add_zoom(tgt:MovieClip, val:Number):void{ tgt.zoom_active = false; tgt.zoom_val = val; tgt.addEventListener(MouseEvent.MOUSE_OVER, add_zoomer); tgt.addEventListener(MouseEvent.MOUSE_OUT, remove_zoomer); } function add_zoomer(e:MouseEvent):void{ var ob:Object = e.currentTarget; if (!ob.zoom_active){ zoomed = MovieClip(ob); zoom_val = ob.zoom_val; ob.zoom_active = true; zoomer = new zoom_mc(); zoomer.x = mouseX; zoomer.y = mouseY; var bitmapData:BitmapData = new BitmapData(zoomed.width, zoomed.height); bitmapData.draw(zoomed); var bitmap:Bitmap = new Bitmap(bitmapData); zoomer.img_loader.addChild(bitmap); zoomer.img_loader.scaleX = zoom_val; zoomer.img_loader.scaleY = zoom_val; zoomer.addEventListener(Event.ENTER_FRAME, move_zoomer); addChild(zoomer); } } function remove_zoomer(e:MouseEvent):void{ var ob:Object = e.currentTarget; if (ob.zoom_active){ ob.zoom_active = false; zoomer.removeEventListener(Event.ENTER_FRAME, move_zoomer); removeChild(zoomer); } } function move_zoomer(e:Event):void{ var ob:Object = e.currentTarget; ob.x = mouseX; ob.y = mouseY; ob.img_loader.x = (zoomed.x-mouseX)*zoom_val+125; ob.img_loader.y = (zoomed.y-mouseY)*zoom_val-125; } add_zoom(gambar_1, 2); // zoom gambar 1 sebesar 2x add_zoom(gambar_2, 3); // zoom gambar 2 sebesar 3x
File Sumber
Share ( Ayo Berbagi )
Leave me a comment
untuk pertanyaan lebih baik di email langsung ke wandah [at] wandah [dot] com agar cepat direspon