اكشن براي دايناميك كردن محتوي صفحه

هركي در مورد اكشني كه بشه باهاش جاي قرارگيري محتوي صفحه رو با بزرگ و كوچك كردن كل صفحه تغيير داد ميدونه مطرح كنه خواهشا
نمونه همچين وبسايتي : www.thefwa.com
اگه اندازه صفحه رو تغيير بدين ميبينين كه اجزاي درون صفحه جايگيري ميكنن و يا حتي كم و زياد هم ميشن...
 

alirtah

Member
منم به شدت میخوام بدونم ماجرا چه جوریه ! سایت های این تیپی زیاد شدن که اجرا دینامیک هستن مثل این : http://www.stompstamp.com/

کسی میدونه زودتر بگه !
 

CMAX

Member
همه چیز بر می گرده به 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
 

tafrehzan

Member
یه سوال موبوط هم بپرسم ؟
اینکه به چه نحوی میشه انیمیشن بزرگ کردن و یا کوچک کردن را با استفاده از دستوراتی خارج از فلش کنترل کرد
فکر کنم باید دریافت ایکس ام ال داشته باشیم و متغیر ها رو وارد فلش کنیم و اون تابعی که شما برای بزرگ کردن استفاده کردید استفاده کنیم میخواستم بدونم که میشه تابع رو در
OnClipEvent() قرار داد و یا OnEnterFrame() ?
 

CMAX

Member
دقیقا متوجه نشدم که شما چه چیزی رو می خوای ؟ اما کنترل فلش از خارج خود SWF و توسط محیط host با تابع های Fscommand و ExternalInterface امکان پذیره
 
بالا