واضح آرشیو وب فارسی:سایت ریسک: کلاس FitScreen راهی ساده برای چینش آبجکتها در رزولوشن های مختلف DaDaDooDoo 08 مرداد 1389, 00:30سلام دوستان . امروز می خوام کلاسی رو که نوشتم بهتون معرفی کنم . البته یک دمو قبلاً از این کلاس تو یک پست دیگه ارائه داده بودم که خیلی ناقص و ابتدایی بود و بیشتر برای معرفی یک تکنیک ازش استفاده کرده بودم . اما حالا این کلاس رو که نامش FitScreen هست کامل و تا حدود زیادی قابل استفاده کردم که در این پست اونو کامل معرفی می کنم و روش استفاده ازش هم توضیح می دم . اما به دو دلیل برای معرفی این کلاس یه تاپیک جدید زدم : اول اینکه اون تاپیک زیر خاکی شده بود و شاید اگر همون رو آپدیت می کردم کسی نمی رفت نگاه کنه و دلیل دوم و اصلیش این بود که اون تاپیک قبلی بیشتر در مورد تکنیک screenResolution بود تا این کلاس و می خواستم این کلاس رو در یک تاپیک جداگانه توضیح بدم . خوب بریم سر اصل مطلب : کلاس FitScreen کلاسی هست که شما با استفاده از اون می تونید آبجکتها رو طوری بچینید که تحت هر رزولوشنی چینش اونها به هم نخوره . (مثلاً اگه دقیقاً به سمت چپ استیج چسبیده همیشه همونجا باشه و با تغییر رزولوشن جای اون عوض نشه . البته همونطور که قبلاً هم گفتم این کلاس بیشتر برای لوکال به درد می خوره (مثلا کارهای مالتی مدیا) و برای وب بهتره از تکنیک چینش شناور استفاده کنید . روش استفاده : قبل از اینکه از این کلاس استفاده کنید باید تنظیمات زیر رو به وسیله کدهای Action Script در پروژه اعمال کنید . حالت فول اسکرین ، حالت اسکیل غیر فعال و الاین استیج هم TOP_LEFT stage.displayState = StageDisplayState.FULL_SCREEN; stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; بعد نوبت می رسه به کلاس FitScreen . این کلاس دو تا متد داره ، یعنی دوتا روش برای چینش اجزاء 1 - متد SetPos : این متد سه تا پارامتر ورودی می گیره : 1 - نام آبجکت ( از نوع مووی کلیپ) 2 - موقعیتی که باید در اون قرار بگیره 3- رجیستر پوینت مووی کلیپ (از نوع استرینگ) . پارمتر اول که معلومه چیه و توضیح نمی خواد . شما با استفاده از این متد می تونید از 9 موقعیت از پیش تعریف شده در این کلاس استفاده کنید ، که عبارتند از : TOP_RIGHT , TOP , TOP_LEFT , RIGHT , LEFT , BOTTON_RIGHT , BOTTON_LEFT , BOTTON , CENTER این مقادیر قبلاً در کلاس تعریف شدن و شما فقط اونا رو انتخاب می کنید و به عنوان پارامتر دوم وارد می کنید . (دیگه فکر کنم نیازی نباشه توضیح بدم هر کدوم به کدوم قسمت استیج اشاره دارند و از اسمشون کاملاً معلومه) . در مورد پارامتر سوم هم باید بگم که شما رجیستر پوینت حال حاضر مووی کلیپ رو در پارامتر سوم معرفی می کنید . که فقط TL (اگر رجیستر پوینت گوشه بالا سمت چپ هست ) و CC ( اگر رجیستر پوینت وسط هست) قابل شناسایی هستند ( چون بیشتر از این نقاط استفاده میشه ) اما روش استفاده از این متد : اول کلاس FitScreen رو به روش زیر در پروژتون لود می کنید : import codes.FitScreen; بعد ازش یک نمونه می سازید : var MyScreen: FitScreen = New FitScreen(); سپس متد SetPos رو صدا می کنید و پارامترها رو بهش پاس میدید : MyScreen.SetPos(MovieClipName , FitScreen.CENTER , "CC"); توجه داشته باشید که برای مشخص کردن پارامتر دوم اسم کلاس رو بنویسید سپس نقطه رو که بزنید اون 9 حالت پیش فرض نمایان میشه و شما انتخاب می کنید . به این ترتیب مووی کلیپ مشخص شده که رجیستر پوینتش وسط هست توی هر رزولوشنی درست در وسط صفحه قرار می گیره . خوب ببخشید اگه طولانی شد ... متد دوم : متد SetMargin که سه تا پارامتر ورودی می گیره : 1- نام مووی کلیپ 2 - فاصله از بالا 3 - فاصله از راست در واقع این متد یه جورایی همون مارجین خودمونه که خودشو با رزولوشن تطبیق می ده . روش استفاده : مثل قبل کلاس رو لود می کنید . از کلاس یک نمونه می گیرید . متد SetMargin رو با پارامترهاش فراخوانی می کنید : MyScreen.SetMargin(MovieClipName , 400, 500); دقت کنید که 500 فاصله پیکسلی از بالا و 400 فاصله پیکسلی از راست هست . سوال ، انتقاد ، پیشنهاد خریداریم . نمونه هم پیوست شده . امیدوارم مفید واقع بشه . موفق باشید . ++Hadi++ 08 مرداد 1389, 10:43کوروش جان خیلی ممنونم ، این سایت به بچه های با سواد و دلسوز و خوبی مثل شما افتخار می کنه ...:rose: بهترین ها رو برایت آرزو مندم ... هادی ++Hadi++ 09 مرداد 1389, 00:15سلام کوروش آقا چند تا نکته... اولا دس مریزاد ... واقعا خوب شده ... ولی اگه می خوای کلاست واسه شناوری یک کلاس مرجع شه ، چند تا کارو انجام بده ... 1- شناوری یه سورس ، نیاز به این داره که هم با پارامتر scale و هم با پارامتر جابجایی ، بتونی اشیای صحنه رو به نسبت صحنه تنظیم کنی ، پس همونطوری که جابجایی رو امکانپذیر کردی ، scale رو هم درست کن تا کاربر بتونه هر چی رو خواست به نسبت stage ، به صورت طولی یا عرضی کش بده ... 2- برای Scale ها و یا جابجایی ها ، یه مقدار Offset رو برا x و y در نظر بگیر ، تا کاربر بتونه از مقدار تنظیم شده ، به اندازه ای که دوس داره بالا تر یا پایین تر ببره یا کش بده ... 3- سعی کن یه دفعه ، همه رو ست نکنی ، یعنی یه پارامتر رو در نظر بگیری که کاربر بتونه ، اونو true کنه تا با TweenMax ، همه چی در زمانی خاص مثل 1 ثانیه ، به جاهای شناوری حرکت کنه (با ease هایی مثل Elastic)... اینطوری می شه مثل سایتی که در سیمیا طراحی کردم و لینکش رو هم بهت پ . خ می دم ...البته به صورت لوکال 4- سعی کن یه حالت Online یا RunTime هم بزاری و در ابتدا از کانسترکتور یا تابعی خاص ، stage رو به عنوان ورودی بگیری و بعد یه رویداد Event.RESIZE بدی که دیگه همه چی اتوماتیک وار با تغییر سایز صحنه توسط کاربر ، کش بیاد یا جابجا شه (افقی و عمودی یا هر دو ) ... اگه این کارو کنی مطمئن باش کلاست فوق العاده محشر و عمومی و مرجع شناوری می شه ... موفق باشی ... Avang2005 09 مرداد 1389, 01:47سلام دوست من جالب بود کوروش جان . ولی نکته های مهمی رو که هادی عزیز گفت رو مد نظر بگیری کلاس شاخی میشه !!!! موفق باشید DaDaDooDoo 09 مرداد 1389, 11:06از پیشنهاد بسیار جالب و سازنده شما ممنونم ، 100% روش کار می کنم و اعمالشون می کنم . ++Hadi++ 14 شهريور 1389, 18:18کوروش جان سلام دارم رو یه پروژه کار می کنم و شاید به کلاس تو هم واسه شناوری نیاز داشته باشم .... ولی حتما می خوام روش تغییراتی رو بدم تا کامل تر بشه . مسئله ای نیست اگه کامل تر شد ، به عنوان ورژن بعد در این تایپیک قرارش بدم ؟؟؟ DaDaDooDoo 14 شهريور 1389, 20:24مسئله ای نیست اگه کامل تر شد ، به عنوان ورژن بعد در این تایپیک قرارش بدم چی بهتر از این ؟ واقعاً خوشحال می شم . البته قبلش یه 15 میلیون بریز به حسابم تا بهت مجوز کتبی بدم ... :cool: ++Hadi++ 15 شهريور 1389, 19:42مرسی حتما انشاءال... DaDaDooDoo 30 شهريور 1389, 02:35روی این نمونه از کلاس FitScreen پترن singletone رو اضافه کردم . دانلود کنید . البته چون هادی خان قراره ورژن بعدی این کلاس رو ارائه کنند من دیگه این نمونه رو به عنوان ورژن جدید مطرح نمی کنم . فرقش با قبلی اینه که دیگه لازم نیست از کلاس آبجکت بگیرید .(البته متد SetMargin هم حذف شده) . موفق باشید . ++Hadi++ 30 شهريور 1389, 19:02کوروش تا اونجایی که می تونی ورژناشو بالا ببر ... فعلا با کلاست کار نکردم ... به عنوان ورژن بعدی بده بیرون ... ++Hadi++ 04 آذر 1389, 02:32ورژن جدید : movement 04 آذر 1389, 23:31واقعا جا داره از آقا هادی و کوروش عزیز تشکر کنم این پست و نوشتم که فقط بگم دست و پنجتون درد نکنه:rose: واقعا لازمه که گفته بشه سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 358]