توجه :
کلاس و مثال آپدیت شد و به زودی مثالهای دیگه ای خوام گذاشت .(انشاءال...)
مشکل بالاتر رفتن نقطه پایین تصویر در اسکرولینگ MouseWheel حل شد .
در مثال جدید شما در مورد ComboBox داخل تصویر هم اطلاعاتی رو کسب خواهید کرد .
سلام دوستان خسته نباشین
امروز می خوام کلاس دیگه ای رو که نوشته بودم رو بهتون معرفی کنم .
نام سازنده : هادی عباسی (Hadi Metal)
زبان پیش فرض : As3
اسم : HadiMetalScroller
ورژن :1.1
تاریخ انتشار : 2010/02/20
فعالیت : اسکرولر مووی کلیپ در شرایطی که نیاز باشه ، دیده می شه و در شرایطی که نیاز نباشه مخفی می شه .
نقطه قوت : اندازه ارتفاع دسته اسکرول و ارتفاع ناحیه اسکرول و اندازه ارتفاع مووی کلیپ ماسک و مووی کلیپ تصویر هر چی می خواد باشه .
استفاده راحت و بدون دنگ و فنگ ، توانایی در انتخاب حالت تغییر سایز دسته اسکرول یا عدم resize
اگه اندازه تصویر از ماسک کوچکتر بود و نیاز به اسکرولینگ بود ، اسکرولر غیب می شه .
این اسکرولر هنوز جا واسه بزرگ تر شدن و پیشرفت داره . شاید درصد خطاهایی هم داشته باشه ولی انشاءال... در آینده حل می شن .
تمام دستوارت اونو از خودم نوشتم و کد ها رو از جایی کش نرفتم . فرمولهای لازمو خودم پیدا کردم .
در آینده ، امکان اضافه کردن دو دکمه بالا رونده و پایین رونده و همچنین حالت Blur شدن تصویر در صورت تمایل کاربران فراهم خواهد شد انشاءال...(منظورم از تمایل کاربران اینه که می تونین با مقدار دهی ، این حالت ها رو داشته باشین یا اینکه اصلا اونا رو حذف کنین )
چون این اسکرولر از کلاسهای gs یا همون tweenMax استفاده می کنه پس حتما این کلاسها رو در کنار سورس فلشتون قرار بدین .
طریقه استفاده :
کافیه دو فولدر Hadi و gs رو کنار سورس قرار بدین . فرض کنین شما 4 تا مووی کلیپ دارین به اسامی instancename زیر :
مووی کلیپ تصاویر به اسم Pic که از مختصات 0 و 0 داخل اون ، تصاویر بصورت عمودی قرار گرفتند . البته این می تونه تکست فیلد رو هم در بر داشته باشه . مثلا فرض کنین از ایکسمل بصورت داینامیک تکستی رو در تکست فیلدی واقع در مووی کلیپ Pic قرار دادین و بعد از قرار گیری تکست ، در اون ، عمل اسکرولینگ شروع می شه .
مووی کلیپ دوم که یه مستطیل هست و به عنوان ماسک به کار می ره و اسمش هست Mask .
مووی کلیپ سوم اسمش هست Handle و به عنوان دسته اسکرول به کار می ره .
مووی کلیپ چهارم اسمش هست Area و به عنوان ناحیه و فضای اسکرول اون دسته یا Handle اسکرول به کار می ره و یه مووی کلیپ مستطیل شکا درازی هست .
کافیه اینا رو در مووی کلیپی به ایم مثلا Main قرار بدین و به شرطی که y این چهار مووی کلیپ در اون مووی کلیپ Main صفر باشه و خواهید دید که با دستورات زیر ، چه اتفاقی خواهد افتاد :
PHP:
import Hadi.HadiMetalScroller;//ورود کلاس اسکرولر از پکیج به پروژه
var MyScroller01:HadiMetalScroller=new HadiMetalScroller(Main01.Pic,Main01.Mask,Main01.Handle,Main01.Area,true,2);
//نمونه سازی و استفاده .
//پارامتر ها به ترتیب :
//سرعت ، قابلیت تغییر سایز دسته ، ناحیه اسکرولی ، دسته اسکرولی ، ماسک ، تصویر
//قابلیت تغییر دسته به حالتی گفته می شود که با تغییر اندازه تصویر به حالت عادی اسکرول ویندوز گفته می شود که با تغییر ارتفاع تصویر ، ارتفاع دسته اسکرول هم تغییر می کند .
//کردن این مشخصه ، حالتی را برقرار کنید که اندازه دسته اسکرول در حالت ثابت بماند و اسکرولینگ بر سرعت تصویر تاثیر گذارد. false می توانید با
var MyScroller02:HadiMetalScroller=new HadiMetalScroller(Main02.Pic,Main02.Mask,Main02.Handle,Main02.Area,false,0.4);
//MyScroller02.Update(Main02.Pic,Main02.Mask,Main02.Handle,Main02.Area,false,0.4);
//وقتی اندازه یکی از پارامتر های اسکرولر مثل ارتفاع تصویر عوض شد .
//MyScroller02.RemoveScrollerEvents();//حذف تمامی رویدادهای اسکرولر دوم
//var MyScroller02:HadiMetalScroller=new HadiMetalScroller(Main02.Pic,Main02.Mask,Main02.Handle,Main02.Area);
//می تونین اینجوری هم بنویسین
البته با دانلود مثال ، بیشتر به موضوع پی خواهید برد .
این کلاس دارای چند متد مهم هست :
متد Update :
این متد اونجایی به کار می ره که اتدازه ها عوض شدند و مجبور شدین تا برای سازگاری اسکرولر با شرایط جدید ، یه بار دیگه پارامتر های اولیه رو با این متد پاس بدین .
متد RemoveScrollerEvents :
این متد برای حذف تمامی رویداد های اسکرولر از stage هست و کار اسکرولر رو متوقف می کنه . با استفاده از کتد Update دوباره می تونین رویداد ها رو به جریان بندازین .
متد Wee :
این متد واسه قطع کردن حالت اسکرولینگ با استفاده از MouseWheel هست . این متد بیشتر واسه این نوشته شد تا وقتی که داخل مووی کلیپ تصویر فرم ثبت نام قرار دادین و در اون کامپوننت comboBox قرار دادین ، با اسکرولینگ ، بدنه اون از لیستش جدا نشه . بعدا یه مثال در این مورد خواهم زد .
متد StartWheel :
این متد حالت برعکس متد Wee هست و رویداد MouseWheel رو دوباره ب اسکرولر باز می گردونه .
برای اسکرول کردن دو یا بیشتر مووی کلیپ که هر کدوم از اونها بند و بساط خودشونو مفصل دارند ، می تونین از یه شی ساخته شده از اسکرولر استفاده کنین یعنی :
PHP:
import Hadi.HadiMetalScroller;//ورود کلاس اسکرولر از پکیج به پروژه
var MyScroller01:HadiMetalScroller=new HadiMetalScroller(Main01.Pic,Main01.Mask,Main01.Handle,Main01.Area,true,0.9);
MyScroller01=new HadiMetalScroller(Main02.Pic,Main02.Mask,Main02.Handle,Main02.Area,false,0.9);
ولی بهتره واسه هر اسکرولر ، شی جدیدی رو بوجود بیارین تا بهتر بتونین به تک تکشون دسترسی داشته باشین ک
PHP:
import Hadi.HadiMetalScroller;//ورود کلاس اسکرولر از پکیج به پروژه
var MyScroller01:HadiMetalScroller=new HadiMetalScroller(Main01.Pic,Main01.Mask,Main01.Handle,Main01.Area,true,0.9);
var MyScroller02:HadiMetalScroller=new HadiMetalScroller(Main02.Pic,Main02.Mask,Main02.Handle,Main02.Area,false,0.9);
در اینده مثالهای دیگه ای رو خواهم زد .
این کلاس هنوز کار زیادی رو داره و در آینده بهتر هم خواهد شد .
امیدوارم خدمتی رو به شما ارائه داده باشم و نظر رضایت شما رو جلب کرده باشم .
در اینده دو دکمه و حالت انتخاب Blur شدن داینامیک تصویر در حال اسکرول به اون اضافه می شه .
یادتون نره برای آپدیت کردن اسکرولر با متد Update می بایست بعد از اعمال کامل تغییرات در مووی ها ، باید از متد Update استفاده کنین .
مثلا وقتی قراره یه سری نوشته در یه تکست باکس داخل مووی کلیپ Pic قرار بگیره ، با متد setTimeout یه وقفه ایجاد کنین تا متن ها قرار بگیرن و بعد ، از متد Update استفاده کنین .
موفق باشید ...