Tips Membuat Efek Zoom Pada Flash. Salam Blogers. Sekarang postingan saya masih seputar tentang flash. Sekarang saya akan sedikit berbagi tentang Tips Membuat Efek Zoom Pada Flash. Tips ini bisa kamu gunakan pada Action Script 2.0 maupun yang 3.0. Jadi silahkan siapkan cemilan guna menyimak Tips Membuat Efek Zoom Pada Flash berikut ini.
1. Pertama-tama buat lah object atau animasi di stage ( di sini saya membuat stickfigure dan sengaja saya kecilkan ukuranya agar nanti bisa di zoom in)
2. lalu buat line dengan Rectangle tool (tanpa fill) berukuran sama dengan STAGE...
3. Lalu convert line tsb menjadi Movie Clip dan beri nama Vcam, registration : Center lalu klik ok
4. Maka otomatis anda akan masuk ke tampilan seperti di bawah ini ... lalu buat layer baru
lalu isikan script berikut di panel action
import flash.display.BitmapData;
addProperty("_x2",get_x2,set_x2);
addProperty("_y2",get_y2,set_y2);
addProperty("_xscale2",get_xscale2,set_xscale2);
addProperty("_yscale2",get_yscale2,set_yscale2);
addProperty("_rotation2",get_rotation2,set_rotation2);
var oldScaleMode:String = stage.scaleMode;
stage.scaleMode = "exactFit";
var sW:Number = Stage.width;
var sH:Number = Stage.height;
stage.scaleMode = oldScaleMode;
var bounds_obj:Object = this.getBounds(this);
var camH:Number = Math.abs(bounds_obj.yMax-bounds_obj.yMin);
var camW:Number = Math.abs(bounds_obj.xMax-bounds_obj.xMin);
var rp = {x:this._x, y:this._y};
onEnterFrame = function ():Void {
camControl();
};
function camControl():Void {
rp.x = _x;
rp.y = _y;
var h:Number = camH*(_yscale*.01);
var w:Number = camW*(_xscale*.01);
var _scaleY:Number = sH/h;
var _scaleX:Number = sW/w;
_x2 = (w/2)*_scaleX;
_y2 = (h/2)*_scaleY;
_xscale2 = _scaleX*100;
_yscale2 = _scaleY*100;
_rotation2 = -_rotation;
_parent.filters = this.filters;
_parent.transform.colorTransform = this.transform.colorTransform;
}
this.onUnload = reset;
function reset():Void {
_parent._xscale = 100;
_parent._yscale = 100;
_parent._x = 0;
_parent._y = 0;
_parent._rotation = 0;
_parent._visible = true;
}
function set_x2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._x += value-a.x;
}
function get_x2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.x;
}
function set_y2(value:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent._y += value-a.y;
}
function get_y2():Number {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
return a.y;
}
function get_xscale2():Number {
return _parent._xscale;
}
function set_xscale2(value:Number):Void {
setProperty2("_xscale",value);
}
function get_yscale2():Number {
return _parent._yscale;
}
function set_yscale2(value:Number):Void {
setProperty2("_yscale",value);
}
function get_rotation2():Number {
return parent.rotation;
}
function set_rotation2(value:Number):Void {
setProperty2("_rotation",value);
}
function setProperty2(prop:String, n:Number):Void {
var a = {x:rp.x, y:rp.y};
_parent.localToGlobal(a);
_parent[prop] = n;
var b = {x:rp.x, y:rp.y};
_parent.localToGlobal(b);
_parent._x -= b.x-a.x;
_parent._y -= b.y-a.y;
}
5. kalau kamu ingin memberi Logo ... buatlah layer baru lalu buatlah logo yang kamu inginkan.
6. Jika anda ingin Zoom In dan Out .. hanya tinggal mengecilkan v cam'a kalau zoom in kalau zoom out sebaliknya
misi agan, mau nanya neh...
ReplyDeletekalo gunanya fungsi _parent.filters sama _parent.transform.colorTrasform pada scrip berikut apa ya????
thx
_parent.filters = this.filters;
_parent.transform.colorTransform = this.transform.colorTransform;