فیت شدن با رزولیشن مانیتور ( راه حل )

DaDaDooDoo

کاربر VIP
سلام دوستان . یکی از مشکلات افراد مبتدی و تازه کار اینکه چطور باید کاری کرد که پروژه خودشو با رزولیشنهای مانیتور های مختلف تطبیق بدن . روشهایی برای اینکار وجود داره مثلاً روش چیدمان شناور که روش خوبی هست اما برای وب کاربرد داره و در نسخه های لوکال چندان جوابگو نیست . یا مثلاً اینکه کل محتوا رو داخل یک مووی کلیپ بزاریم و اونو الاین کنیم که این روش هم همیشه قابل استفاده نیست .
اما من به کمک یکی از دوستان ( از کاربرای فعال انجمن که اول اسمش با BioDread شروع می شه و متسفانه دیگه فعالیت نمی کنه ) این روش رو یاد گرفتم . (اونم کجا تو بانک ، بعدشم که فهمیدن کار بانکی نداریم محترمانه انداختنمون بیرون :snap: و مجبور شدیم 3 بعد از ظهر زیر آفتاب ادامه بدیم ...) . بعد تصمیم گرفتم اونو تبدیل به یک کلاس بکنم تا استفاده ازش راحت بشه .( می خوام این رو تبدیل کنم به یک کلاس که یکسری قالب های استاندارد رو ساپورت کنه .)
البته استفاده از این روش خیلی آسونه و می شه با چند خط کد سرو تشو هم آورد و شاید هم نیاز به یک کلاس جداگانه نداشته باشه .

روش کلی کار اینه که با استفاده از :

PHP:
Capabilities.screenResolutionX
و
PHP:
Capabilities.screenResolutionY

رزولوشن مانیتور سیستمی رو که فایل روی اون اجرا شده بدست میارید . بعد موقعیت آبجکت هارو نسبت به اون تعیین می کنید .

اما 2 تا نکته مهم :

اول اینکه پروژه باید فول اسکرین باشه و حالت اسکیل غیر فعال :

PHP:
stage.displayState = StageDisplayState.FULL_SCREEN;
stage.scaleMode = StageScaleMode.NO_SCALE;

دوم اینکه حتماً الاین استیج رو مشخص کنید که بهترین حالت TOP_LEFT هست :

PHP:
stage.align = StageAlign.TOP_LEFT;

با این روش مشکل فیت شدن کار با رزویوشن های مختلف حل می شه ( مخصوصاً در لوکال )

یک سمپل هم گذاشتم که یک کلاس هست که دو تا پارامتر ورودی می گیره :

1 - مووی کلیپ هدف (از نوع مووی کلیپ)
2 - موقعیتی که باید قرار بگیره ( از نوع استرینگ)

من برای دمو دو تا موقعیت پیش فرض تعریف کردم :

1 - TR ، که گوشه بالا سمت راست هست .
2 - BR ، که گوشه پایین سمت راست هست .

اگر چیزی به غیر از این پارامتر ها وارد کنید ارور Undefine Position می ده .

PHP:
var SetScreen:FitScreen = new FitScreen(Box_mc , "TR");
addChild(SetScreen);
SetScreen = new FitScreen(Box2_mc , "BR");
addChild(SetScreen);

البته تابع کانسترکتور این کلاس پارامتر هارو می گیره ، که فکر کنم بهتره که یک متد واسه این کلاس تعریف کنم و پارامترها رو به اون پاس بدم .

دانلود کنید تا بیشتر بفهمید داستانو ... سوالی بود در خدمتم .

دوستان حرفه ای هم اگه ایده و نظری بدن خیلی عالی میشه .
 

پیوست ها

  • FitScreen.rar
    8.9 کیلوبایت · بازدیدها: 114
آخرین ویرایش:

DaDaDooDoo

کاربر VIP
همونطور که تو توضیحاتم گفتم برای وب بهتره از تکنیک شناور استفاده کنید ، این بیشتر برای لوکال مناسب هست ... (البته تلفیقی از هر دو هم بسته به نوع پروژه می تونه مناسب باشه .)
موفق باشید .
 

ub.maka

New Member
سلام
میشه برای روش چیدمان شناور یه لینکی بدین آخه خیلی بهش نیاز دارم:sad:
 

DaDaDooDoo

کاربر VIP
این نمونه رو Mr. LonelY چند وقت پیش آپ کرده بود . اگر پنجره Flash Player یا explorer رو resize کنی ، آبجکت ها خودشونو متناسب با سایز جدید ، هم جابجا می کنن و هم بزرگ و کوچیک می شن . یعنی هم width و height اونا تغییر می کنه ( در صورت لزوم ) و هم x و y .

سوالی داشتی بپرس .
 

پیوست ها

  • Resize.rar
    7.3 کیلوبایت · بازدیدها: 73

raminmix2009

New Member
دست شما درد نکنه دوست عزیز ولی می خواستم بدونم من که یه پروژه دارم باید کجای پروژم این رو بنویسم تا به درستی عمل کنه متشکرم از لطف شما
 

جدیدترین ارسال ها

بالا