همه چیز بر می گرده به Stage یعنی فضایی که SWF در آن نمایش داده می شود حالا فقط لازم است تا شما Event تغییر سایز Stage رو بگیرید و یک Function به آن نسبت دهید همین ...
این Event فقط در حالتی که Scale Mode فایل SWF در حالت noScale باشد کار می کند و باقی ماجرا به صورت زیر است :
کد:
Stage.scaleMode = "noScale";
Stage.align = "tl";
Stage.addListener(this);
خوب Listener برای Stage خود SWF می شود و حالا باید Event جهت اجرا رو به Listener بدیم و تابع مورد نظر جهت اجرا در زمان رخ دادن "
onResize"...
کد:
this.onResize = function()
{
DrwScn();
};
و در انتها تابع "
DrwScn" رو تعریف می کنیم
در داخل این تابع X ,Y,ُ Scale و دیگر خواص MC ها رو برای حالات مختلف Stage بر اساس اندازه آن و یا بصورت کلی تعریف می کنیم
مثل این نمونه :
کد:
function DrwScn()
{
_root.BgBlk._x = 0;
_root.BgBlk._y = 0;
min._x = Stage.width-min._width-40;
min._y = 30;
MFrame._x = (Math.round(Stage.width)/2)-300;
MFrame._y = (Math.round(Stage.height)/2)-40;
th._x = MFrame._x+54;
th._y = MFrame.Crs._y+MFrame._y;
bg._width = Stage.width;
golu._y = Stage.height-golu._height;
golu._x = (Stage.width-golu._width)/2;
str._x = (Stage.width-str._width)/2+120;
str._y = (Stage.height-str._height)/2;
copy._x = (Stage.width-copy._width)/2;
if (Stage.height>900)
{
th._y = th._y+220;
}
else if (Stage.height<900 && Stage.height>800)
{
th._y = th._y+200;
}
else
{
th._y = th._y+180;
}
umnu._y = th._y+65;
umnu._x = th._x-111;
res._x = Stage.width/2-250;
res._y = Stage.height/2-150;
}
این Event برایIE درست کار می کند اما فکر کنم با FF کمی مشکل دارد شاید AS 3.0 حلال مشکل شد .
... Take Care