محتویات سایت
        برچسب های محبوب 








 
   نحوه ساخت یک پیش بارگذار (Preloader) در یک فریم - ماکرومدیا فلش نسخه 8
  نحوه ی ساخت یک پیش بار گذار بسیار ساده، قابل استفاده برای تمامی پروژه های فلش مبتنی بر وب
   Adobe Flash
   ۲۳۴۱۷
   این مقاله حاوی فایل ضمیمه نمی باشد
   محمد (برنا) پورحسین
   ۱۳۸۵/۸/۲۹
نسخه قابل چاپ نسخه قابل چاپ


نحوه ساخت يک پيش بارگذار (Preloader) در يک فريم  - ماکرومديا فلش نسخه 8

هنگامي که از کاربران ماکرومديا فلش (Macromedia Flash) پرسيده مي شود که يکي از سخت ترين تکنيک هاي فلش براي يادگيري و مديريت چيست؟ بسياري از آنها به پيش بارگذارها (Proloaders) اشاره ميکنند. در فلش 4، ساخت و هماهنگ سازي preloaderها بسيار مشکل بود. شما مجبور بوديد براي ساخت يک preloader ساده، از ساخت اشيا پيچيده و مواردي چون Loader farme ،Loop frame و از ديگر موارد استفاده کنيد. اما از فلش نسخه 5 به بعد، تمام اين مراحل در يک فريم به همراه چند خط برنامه نويسي ساده توسط Action Script (زبان برنامه نويسي فلش) خلاصه شده است.
چگونه يک preloader ساده بسازيم؟
براي انجام اين کار مراحل زير را به ترتيب انجام دهيد:
1) برنامه فلش خود را اجرا کرده و يک movie جديد بسازيد. روي اولين فريم (تنهاترين فريم موجود) Right Click کرده و از منوي محاوره اي باز شده گزينه Actions را انتخاب کنيد.
2) بعد از اينکه پنجره Actions مربوط به اين فريم باز شد، با استفاده از دکمه ي ترکيبي Ctrl+E، پنجره ي Actions را به حالت Expert (تخصصي) ببريد. در اين حالت شما ميتوانيد با استفاده از paste ،copy و قرار دادن کد به صورت دستي و مستقيم، script نويسي کنيد، بدون اينکه مجبور باشيد از منوهاي drop-down (مربوط به حالت script نويسي ويژوال فلش) استفاده کنيد.
3) در پنجره Actions خود، چند خط کد زير را تايپ کنيد:


if (_framesloaded>=_totalframes) {
 gotoAndPlay (2);
} else {
 gotoAndPlay (1);
}

4) در عين حال شما ميتوانيد توسط يک Loading movie يا چيزي شبيه به آن که در فريم 1 پروژه ي خود قرار ميدهيد، کاربران را تا بارگذاري (Load) کامل آن سرگرم نگه داريد. البته به شرطي که مطمئن باشيد براي ساخت Loading movie خود از فريم 1 فراتر نميرويد. چنانچه Loading movie  ي شما از فريم هاي بيشتري برخوردار است و داراي پيچيدگي هاي خاص خود مي باشد، براي استفاده از آن ميتوانيد از يک Movie clip (منوي Insert symbol ،New) استفاده کنيد. البته بايد به اين نکته هم توجه داشته باشيد که نبايد Loading movie شما با حجم زياد خود، باعث افزايش حجم پروژه و در پي آن صرف هزينه زماني بيشتر براي دانلود و مشاهده پروژه ي شما توسط کاربران اينترنت يا اينترانت شود. عکس زير، نمونه Timelineاي است که به منظور ساخت چنينن پيش بارگذاري ساخته شده است (در اين عکس به اين نکته توجه داشته باشيد که فريم 1 تمامي لايه ها خالي از هر گونه شي اي ميباشد، غير از فريم 1 در لايه ي Action که حاوي کدهاي ساخت و مديريت preloader و احتمالا Loading movie ي شماست.):


بسيار خوب، کار شما به پايان رسيد و به راحتي و توسط چند خط کدنويسي توانستيد يک preloader بسازيد. اما به دليل اينکه تنها کاري که شما کرديد کپي کردن و بعد قرار دادن کدها در جاي خود بود، من به صورت کامل نحوه ي کار اين کدها رو توضيح ميدهم و بعد از توضيحات من شما ميتوانيد به صورت کامل و واضح کدها، معناي آنها و نحوه ي کار آنها را در پروژه ي خود درک کنيد.
از خط اول شروع ميکنيم:
if (_framesloaded>=_totalframes)

اين خط مهمترين قسمت از کد نويسي شما براي preloader ميباشد. با توجه به ساختار دستور if، اين دستور در اينجا هنگامي توسط شرط موجود در داخل پرانتز روبروي خود آغاز به کار ميکند که تعداد فريم هاي بارگذاري شده ي در حال حاضر (framesloaded_) از تعداد کل فريم هاي موجود در پروژه (totalfarmes_) بزرگتر يا مساوي آنها باشد.
از خط دوم تا پايان:
if (_framesloaded>=_totalframes) { 
        gotoAndPlay (2);
} else {
        gotoAndPlay (1);
}

اين قسمت از Scriptهاي شما، کد هاي موجود را کنترل ميکند تا جمله ي if با توجه به جواب True يا Flase که از شرط آن حاصل ميشود، انجام عمل بعدي را مشخص کند. اگر توسط شرط، جواب True برگردانده شود، يعني کل فريم هاي پروژه بارگذاري شده است، پس دستورات خط دوم اجرا ميشود ( (2)gotoAndPlay ). يعني توسط اين خط به فلش ميگوئيم که کنترل Timeline به فريم 2 رفته و از آن فريم به بعد را اجرا کند. و اگر حاصل شرط همچنان False بود، يعني هنوز تمام فريم ها به طور کامل بارگذاري نشده اند. پس دستورات مربوط به بلوک if اجرا نشده و کامپايلر داخلي فلش دستورات بلوک else را به دليل برقرار نبودن شرط براي اجراي if statement اجرا ميکند ( (1)gotoAndPlay ). اين دستور يک نوع حلقه است به اين صورت که تا زماني که تمامي فريم ها Load نشده اند، خود را صدا ميزند و دستورات مربوط به خود را اجرا ميکند تا زماني که شرط داخل پرانتز مقدار صحيح برگرداند که در آن زمان پروژه توسط دستور داخل بلوک if از فريم 2 به بعد اجرا شده و نمايش داده ميشود.
بسيار خوب، کار ما براي ساخت يک preloader ساده به پايان رسيد و شما به هين سادگي توانستيد براي پروژه ي خود يک preloader يا پيش بارگذار بسازيد. از اين به بعد نيز ميتوانيد با استفاده از همين روش براي تمام پروژه هاي فلش خود از preloaderها استفاده کنيد. پيش بارگذارهايي که امروزه، مخصوصا در پروژه هاي مبتني بر web، يک جز لاينفک و جدايي ناپذير پروژه هاي فلش است. البته preloaderها هم انواع مختلف و پياده سازي هاي مختلف تري دارند؛ اما در اينجا مقصود من از اين مقاله، آشنايي بيشتر شما با ساخت يک preloader بسيار ساده و البته در کنار آن آشنايي با چند خط Script روان و به عبارتي رايج فلش بود. در اصل نوعي آغاز و بعد از آن با صرف زمان بيشتر و مقالات بيشتر، کسب تجربه هاي مفيدتر و ديدي تخصصي تر. به اميد موفقيت و سلامت روزافزون......

منبع: Kirupa.com