توی قسمت اول لودینگ ها در swish max نوشتم که چه جوری می تونید یک لودینگ متنی بسازید و همونطور که گفتم قراره ایندفعه درباره ی لودینگ های شمارشی بنویسم . یعنی به جای اینکه برای بازدید کننده یک متن نمایش داده بشه ، نمایش اعداد ۱ تا ۱۰۰ رو داشته باشیم و کاربر تا رسیدن این عدد به ۱۰۰ منتظر بمونه . همونطورم که قبلا گفتم روش ساخت این لودینگ با لودینگ قبلی فرق داره و از یه سری کدای دیگه باید استفاده کنیم .
برای شروع همونطور که قبلا گفتم طرحتون رو آماده کنید و در آخر به سراغ لودینگ بیاد ، یعنی کل پروژه رو بدون در نظر گرفتن لودینگ بسازید و در مرحله ی آخر لودینگ رو بهش اضافه کنید . طبق روش قبل برای لودینگ یک Scene بسازید و بعد مراحل زیر رو دنبال کنید .
بعد از ساخت Scene مخصوص لودینگ و آوردنش به اول لیست Scene ها باید داخلش یک Movie Clip بسازید . برای این کار از منوی Insert روی Movie Clip کلیک کنید تا یک Movie Clip داخل Scene لودینگتون ساخته بشه . اسم این Movie Clip رو به یه چیز دیگه مثلا load تغییر بدید .
حالا روی Movie Clip ساخته شده دو بار کلیک کنید تا انتخاب بشه و از منوی Tools ابزار Text Tool رو انتخاب کنید و یک Text بسازید . این متن قراره اعداد ۱ تا ۱۰۰ رو به بازدیدکننده نشون بده و شما می تونید عدد ۰ رو به عنوان پیشفرض بنویسید . چون این عدد ثابت نیست بهتره ۰ رو بنویسید که به نظر بیاد شمارش از ۰ شروع شده . اسم این Text رو می تونید count بزارید و یا هر چیز دیگه . حالا شما یک Scene به صورت زیر دارید :
دیگه نوبتی هم که باشه نوبت برنامه نویسیه و باید یه سری کد رو بنویسید . اول Movie Clip که ساختید و اسمشو load گذاشتیم رو انتخاب کنید و وارد قسمت Script بشید . ( برای آشنایی با قسمت Script بهتره اینجا رو بخونید ) کدهای زیر رو وارد کنید و بعد در ادامه می گم باید چه تغییراتی بدید :
onFrame (2) {
stop();
}
onFrame (4) {
setLabel(“preload”);
}
onFrame (5) {
var percentLoaded:Number = Math.ceil((_parent.getBytesLoaded() / _parent.getBytesTotal()) * 100);
if (percentLoaded >= 99) {
this._visible = false;
gotoSceneAndPlay(“PROJECT”, 1);
this.stop();
} else {
count.text = percentLoaded;
prevFrameAndPlay();
}
}
توی کد بالا همونجوری که می بینید در فریم های ۲ و ۴ و ۵ یک سری دستورات رو تعریف کردیم . توی فریم ۲ گفتیم که پروژه Stop کنه ، توی فریم ۴ یک Label به اسم preload تعریف کردیم و در فریم ۵ دستورات بارگزاری رو نوشتیم . در خط اول این دستورات ، فرمول محاسبه ی ۱ تا ۱۰۰ رو تعریف کردیم و در خط دوم یه دستور شرطی نوشتیم و گفتیم که اگه بارگزاری تموم شد چی بشه و اگر تموم نشد چی بشه ! در این دستور جایی که کد gotoSceneAndPlay نوشته شده رو باید با توجه به پروژتون تغییر بدید . توی این قسمت تعریف شده که وقتی بارگذاری تموم شد کدوم Scene شروع به پخش کنه که در اینجا نام Scene پروژه ی من PROJECT هست و تعریف کردم که پس از باگزاری به سمت این Scene بره و از فریم ۱ شروع به پخش کنه . اگر شما اسم Scene پروژه ی اصلیتون چیز دیگه ای هست اینجا رو متناسب با اون تغییر بدید . در خط اول قمست “وگرنه” دستور شرطی یا همون else نوشته شده count.text = percentLoaded که در اصل تعریف شده عدد بارگراری روی کدوم Text نشون داده بشه و همونطور که در بالا اسم Text بارگزاریم رو count گذاشتم گفتم که روی این Text نشونش بده . اگر شما اسم دیگه ای براش انتخا کردید این قسمت رو هم تغییر بدید .
وقتی کد بالا رو نوشتید و تغییرات رو انجام دادید روی Scene مربوط به لودینگتون که ما اسمش رو loading گذاشتیم کلیک کنید و کدهای زیر رو در قسمت Script این قسمت بنویسید :
onFrame (1) {
preloader._visible = true;
preloader.gotoAndPlay(“preload”);
}
onFrame (2) {
stop();
}
توی دستور بالا هم تعریف کردیم که در فریم ۱ اگر بارگذاری انجام نشده بود Label ای که در کد بالا به اسم preload تعریف کردیم رو پخش کنه و در فریم ۲ متوقف بشه . در کل این کد نیاز به تغییر نداره و فقط اگه اسم Lable رو عوض کردید این کد رو ویرایش کنید .
حالا کار تمومه و بارگزاری شما ساخته شده . شما می تونید برای Text لودینگتون یک فونت قشنگ انتخاب کنید و اندازش رو هم متناسب با پروژتون تغییر بدید و هر جای صفحه که خواستید قرارش بدید . برای زیباتر شدن طرحتون می تونید عبارت هایی مثل ” لطفا صبر کنید ” و یا از این قبیل اضافه کنید و یا از تصاویری مثل ساعت شنی و … استفاده کنید .
در قسمت بعد که طرز ساخت لودینگ نواری رو نوشم و تموم شد ، در یک مبحث جدا طرز ترکیب این لودینگ ها با هم رو توضیح می دم که بتونید این لودینگ رو با نواری و متنی ترکیب کنید و یک لودینگ زیبا داشته باشید .
سلام دوست عزیزمن طبق آموزش شما عملکردم ولی بعد اتمام کار پلی میکنم برنامه این اخطار رو میده
ERROR: Cannot find ‘preloader’
loading, line 2: preloader._visible = true
بایدچه کار کنم؟
پیشاپیش تشکر
توی وبلاگم ، کدایی که می زارم برای اینکه اچ تی ام ال تصور نشه گیومه ها یعنی ( ” ) به صورت کج نوشته می شن !
مشکل همین گیومه هاست ! توی کدتون گیومه ها رو به صورت اصلی بنویسید و از حالت کج خارج کنید
بازم سلام متوجه این موضوع بودم و اونارو درست وارد کردم اما اخطار رو میده و لودینگ کار نمیده
فکر می کنم توی اسم گذاری لیبیل ها مشکل وجود داره . مثلن من توی خط پنجم از لیبل preload استفاده کردم ببین تو هم این لیبل رو داری ؟ شاید اسمش رو چیز دیگه ای گذاشتی یا اصن نساختیش !
سه شنبه ۲۶ بهمن ۱۳۸۹ و ساعت ۷:۱۲ ب.ظ
:> با سلام
بعد از اتمام یک پروژه وقتی آن را با adobe flash باز می کنم به صورت سیاه و سفید پخش می شود.و نوشته هایش نیز سرو ته دیده می شه.
لطفا راهنماییم کن.
با تشکر 😛
چهارشنبه ۲۷ بهمن ۱۳۸۹ و ساعت ۱۲:۵۳ ق.ظ
اگر نوشته ی شما رو برعکس و جدا می کنه ( مثلا سلام رو اینجوری می نویسه : م ا ل س ! ) دو تا دلیل داره ، اول اینکه احتمالا نسخه ی swish max شما قدیمیه و از فارسی پشتیبانی نمی کنه که پیشنهاد می کنم حتما آخرین نسخش رو نصب کنید ( +آخرین نسخه swish max ) دلیل دومشم ممکنه از فونتتون باشه . نوشته های فارسی رو باید با فونت هایی که با B شروع می شن توی swish max نوشت ، مثلن B Titr یا B Homa و … .
درباره ی خروجی هم احتمالا باز هم مشکل از نسخه ی swish max شماست . بهتره شما یک خروجی exe از کارتون بگیرید . اگر باز خروجی سیاه و سفید داد مشکل از قدیمی بودن swish max هست و شما باید نسخه جدیدش رو نصب کنید و اگر خروجی رنگی داد و فقط خروجی های swf رو سیاه و سفید می کنه احتمالن مشکل از فلش پلیره و باید فلش پلیرتون رو آپدیت کنید .