|
berikut ini script dan penjelasannya
// original script dari © www.senocular.com
onSelfEvent (load) {
Stage.scaleMode = "noScale";
}
onFrame (1) {
// buat movie clip menampung versi yang dipixelated dari foto di movie clip original_mc
this.createEmptyMovieClip( "pixelated_mc", 1 );
// letakkan di samping original_mc
pixelated_mc._x = original_mc._x + original_mc._width;
pixelated_mc._y = original_mc._y;
// ciptakan function
pixelate = function(){
// buat variable untuk menentukan ukuran pixel awal
var pixelSize = 80;
// sembunyikan repeat button
repeat._visible = false;
// naikkan pixelation pada setiap frame
this.onEnterFrame = function(){
// buat objek bitmapDat baru berdasar dari ukuran foto asli dan pixel awal
// ini akan digunakan untuk mempixelate foto asli
var bitmapData = new flash.display.BitmapData( original_mc._width/pixelSize, original_mc._height/pixelSize, false );
//pasang bitmap ke foto_pixelated
pixelated_mc.attachBitmap(bitmapData, 1);
//buat matrix object untuk merubah ukuran foto
//yang akan digambar berdasar foto asli ke bitmapData
var scaleMatrix = new flash.geom.Matrix();
// merubah ukuran berdasar pada pixelSize
scaleMatrix.scale(1/pixelSize, 1/pixelSize);
//tampilkan foto original ke dalam BitmapDatobject selagi ukurannya mengecil
bitmapData.draw( original_mc, scaleMatrix );
//memastikan ukuran foto_pixelated sesuai dengan ukuran original_mc
pixelated_mc._width = original_mc._width;
pixelated_mc._height = original_mc._height;
//naikkan angka pixelation
pixelSize *= .95;
//jika ukuran pixel sudah sesuai, hapus function
if (pixelSize < 1){
delete this.onEnterFrame;
// tampilkan repeat button
repeat._visible = true;
}
}
}
//jalankan function
pixelate();
//script tombol repeat on release untuk menjalankan function
repeat.onRelease = function(){
pixelate();
}
stop();
}
|