لودینگ ها در swish max – قسمت اول
لینک کوتاه

مدت زیادی شده که از swish max ننوشتم ، ولی امروز می خوام این بحث رو ادامه بدم و همونطور که توی مطلب قبلیم قول دادم می خوام درباره ی لودینگ ها بنویسم ، البته طریقه های نوشتن یک لودینگ زیبا با swish max زیاده و من اون ها رو به ۳ دسته تقسیم کردم و توی ۳ قسمت درباره هر دسته می نویسم . اون سه دسته اینا هستن  :

  1. لودینگ های متنی که فقط یه متن به کاربر نشون می ده و کاربر باید منتظر بمونه تا صفحه ی فلش بالا بیاد . البته اون متن می تونه همراه با افکت و صدا و … هم باشه !
  2. لودینگ شمارشی که به کاربر از ۰ تا ۱۰۰ رو نمایش می ده و وقتی به ۱۰۰ رسید بارگذاری تموم می شه و صفحه ی اصلی نمایش داده می شه .
  3. و لودینگ های نواری که یه نوار خالی باید تا اتمام زمان بارگذاری پر بشه و کاربر تا پر شدن نوار باید منتظر بماند .

توجه کنید که هر دسته رو می شه با دسته ی دیگه مخلوط کرد ! مثلا وقتی من قسمت سوم لودینگ ها رو توضیح بدم شما می تونید یه لودینگ بسازید که هم یک نوار پر بشه و هم اعداد ۰ تا ۱۰۰ نمایش داده بشه و هم عبارت Loading با افکت به کاربر نمایش داده بشه . اما فعلا درباره ی لودینگ متنی می نویسم و اینکه چه جوری به کاربر تا زمان بارگذاری کامل فلش عبارت لودینگ نمایش داده بشه .

اول از همه شما باید طرحتونو بدون در نظر گرفتن لودینگ طراحی کنید . یعنی فکر کنید لودینگ وجود نداره و فلشتون رو هر فرمی که دوست دارین و در هر چند تا Scene طراحی کنید . وقتی طرحتون تموم شد نوبت می رسه به لودینگ که در ادامه می گم چه جوری یه لودینگ متنی بسازید .

اول یه Scene باید ایجاد کنید . برای این کار از نوار منوها روی Insert کلیک کنید بعد Scene رو انتخاب کنید :

یک Scene برای شما در انتهای Scene هاتون ساخته می شه که شما باید اونو انتخاب کنید و به وسیله ی فلش رو به بالا ، که توی عکس زیر مشخص شده ، اون Scene رو بالا بیارید و در ابتدای Scene ها قرار دهید . می تونید اسم اون Scene رو به یه اسم دیگه ، مثلا loading تغییر بدید که مشخص تر باشه :

حالا باید از نوار ابزار ، روی Text کلیک کنید و یک متن بنویسید . حالا اون متنتون می تونه عبارت loading باشه و یا یه متن معادل فارسی مثل : چند لحظه صبر کنید و یا در حال بارگذاری و… باشه . بعد هم همون طور که قبلا اینجا توضیح دادم می تونید یه افکت دنباله دار روی متن بزارید که خیلی خشک هم نباشه .

حالا نوبت برنامه نویسیه و باید یه سری دستورات کوچولو بنویسید . Scene لودینگتون رو انتخاب کنید و بعد وارد قسمت Script بشید . حالا دستور زیر در خط اول بنویسید :

onFrame (1, afterPlacedObjectEvents) {
if (sceneFrameLoaded(“Scene_1”, 1)) {
gotoSceneAndPlay(“Scene_1”, 1);
}
}

توجه کنید که اولین Scene من توی پروزم اسمش Scene_1 هست که یعد از Scene لودینگ قرار گرفته ، اگر شما Scene بعد از لودینگ رو به یه نام دیگه تعریف کردید توی کد بالا باید اسم اون Scene رو بنویسید ، عکس زیر این نکته رو براتون روشن تر می کنه . کد بالا می گه که هر وقت پروژه loop شد و به این Scene رسید ، اگر پروژه لود شده بود دیگه لودینگ رو نشون نده و به Scene بعدی منتقل شو .

حالا روی خانه ی بعد از افکت هایتان کلیک کنید و دستورات زیر را بنویسید . ( فرض کنید من به یه متن لودینگ ، یک افکت ۲۰ فریمی دادم ، این کد رو روی فریم ۲۱ اعمال می کنم ، اگه کلا افکتی ندادید این دستور رو روی فریم ۲ بنویسید )

onFrame (21, afterPlacedObjectEvents) {
gotoSceneAndPlay(“loading”, 1);
}

باز هم تاکید می کنم که من افکت های روی متن لودینگم رو ۲۰ فریم تعریف کردم و این کد رو روی فریم ۲۱ نوشتم ، اگه شما روی متنتون چند افکت اعمال کردین و یا افکتتون در فریم های کمتره باید در اولین فریم بعد از تموم شدن افکتتون این کد رو بنویسید و عدد ۲۱ رو به اولین خونه بعد از اتمام فریم هاتون اختصاص بدید ، مثلا توی تصویر زیر من دو تا افکت روی متن لودینگم گذاشتم و این افکت ها توی فریم ۳۶ تموم شده ، من باید کد بالا رو توی فریم ۳۷ بنویسم و برای همین عدد ۲۱ رو به ۳۷ تغییر می دم . نکته ی بعدی هم اینه که من همونطور که گفتم اسم Scene بارگذاریم رو loading گذاشتم و توی خط دوم این کد هم ، اون Scene رو معرفی کردم . اگه شما اسم Scene لودینگتون رو چیز دیگه ای گذاشتید باید توی خط دوم اسم اون Scene رو بنویسید . این کد هم می گه که اگه بارگذاری فایل تموم نشده مجددا Scene لودینگ رو نمایش بده و به Scene بعد نرو .

بعد از نوشتن دستور بالا روی فریم بعدش هم دستور زیر رو بنویسید ( چون من دستور بالا رو توی فریم ۲۱ نوشتم پس این دستور رو باید توی فریم بعدی یعنی ۲۲ بنویسم ، اگه فریم شما چیز دیگه ای بود عدد ۲۲ رو تغییر و فریم موردنظر خودتون رو وارد کنید ) :

onFrame (22, afterPlacedObjectEvents) {
preloadContent();
}

حالا کار تمومه و لودینگ شما ساخته شده . از این به بعد قبل از بالا اومدن فلشتون کاربر یه متن لودینگ و یا لطفا صبر کنید رو می بینه و وقتی فلش بالا اومد متن هم محو می شه ، البته یه سری کارهای گرافیکی دیگه هم می شه انجام داد که اون بستگی به خودتون داره ، ولی من یه سری از اونارو اشاره می کنم :

– شما می تونید به جای متن از یه عکس ، مثل تصویر ساعت شنی یا … استفاده کنید که لودینگتون قشنگتر بشه ، یا می تونید هم عکس رو قرار بدید و هم متن لودینگ رو زیر عکس با افکت قرار بدید .

– اگر دوست دارید وقتی بارگذاری تموم شد متن لودینگتون با یه افکت محو بشه و بعد Scene بعدی نمایش داده بشه باید افکت مورد نظرتون رو بعد از فریم کد سوم قرار بدید ، یعنی اگه مثل مثال بالا کد سوم رو توی فریم ۲۲ نوشتید باید افکت محو شدن رو از فریم ۲۳ به بعد قرار بدید . حالا باید کد اول رو به شکل زیر تغییر بدید :

onFrame (1, afterPlacedObjectEvents) {
if (sceneFrameLoaded(“Scene_1”, 1)) {
gotoSceneAndPlay(“loading”, 23);
}
}

در اصل تو کد بالا گفتم که وقتی لودینگ تموم شد به جای اینکه سریع Scene بعدی پخش بشه ، توی همون Scene  از فریم ۲۳ که افکت محو شدن رو قرار دادیم پخش شه ، توجه کنید که من با فرض اینکه اسم Scene بارگذاریم loading هست و افکت محو شدنم از فریم ۲۳ شروع می شه کد بالا رو نوشتم ، شما باید خط سوم کد رو با توجه به شرایط خودتون تغییر بدید .

البته با این کار همه چی تموم نمی شه ، شما باید یک کد هم در آخرین Scene پروژتون قرار بدید . ممکنه شما برای پروژتون به غیر از لودینگ ۳ تا Scene تعریف کرده باشید که اینا پشت سر هم پخش می شه ، شما باید در آخرین فریم آخرین Scene تون تعریف کنید که پروژه از اولین اسکین بعد از لودینگ پخش بشه و مجددا افکت محو شدن رو نشون نده ، من فرض می کنم پروژم به غیر از لودینگ ۲ تا Scene داره ، به Scene_2 می رم و کد زیر رو وارد می کنم :

onFrame (45) {
gotoSceneAndPlay(“Scene_1”, 1);
}

نکته ی مهم اینکه توی کد بالا فرض شده افکت های Scene_2 توی فریم ۴۴ تموم شده و من کد بالا رو روی فریم ۴۵ تعریف کردم . حالا کار تمومه و وفتی بارگذاری انجام بشه متن لودبنگ با افکت محو و پروژه نمایش داده می شه .

خلاقیت و نوآوریهای زیادی می تونید تو این زمینه انجام بدید که همه ی اون ها به خودتون و ذوق و سلیقتون بستگی داره ، توی قسمت بعدی بهتون می گم که چه جوری یه لودینگ بسازید که تا ۱۰۰ رو به کاربر نمایش بده و بعد پروژه رو باز کنه .

پ.ن : روش ساخت لودینگه بعدی و بعدیش ۱۸۰ درجه با هم فرق دارن و هیچ کدوم شبیه هم نیستن ، پس فکر نکنید تو قسمت بعدی هم با این کدا سروکار داریم ! یه خورده پیچیده تر می شه !

اگه خوشتون اومد این ها رو هم بخونید :
لودینگ ها در swish max – قسمت دوم
ساخت دکمه در swish max
ساخت پلیر با swish max
افکت های swish max
به دست آوردن آی پی به وسیله ی php
نوشته بعدی
نوشته قبلی
به اشتراک بگذارید
سینا گفت :
سه شنبه ۲۹ اسفند ۱۳۹۱ و ساعت ۱۲:۳۴ ب.ظ

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

پاسخ یه این نظر

hamed گفت :
یکشنبه ۳ شهریور ۱۳۹۲ و ساعت ۲:۲۴ ق.ظ

سلام
ممنون از مطالب خیلی خوبتون
اگه میشه یه اموزش درباره ی بکگراند متحرک بذارید
اگه یه پروژه اماده هم بزارید که واقعا عالی میشه
از مطالبتون خیلی استفاده کردم
موفق باشید

پاسخ یه این نظر

جواد در پاسخ گفت :
پنج شنبه ۷ شهریور ۱۳۹۲ و ساعت ۱۲:۲۳ ق.ظ

چشم می نویسم حتمن :)

پاسخ یه این نظر

hamed گفت :
دوشنبه ۴ شهریور ۱۳۹۲ و ساعت ۱:۴۸ ق.ظ

اینم بگید که چه جوری میشه یه عکسو مثلا لو گو رو براق کرد
یعنی برق بزنه.منتظر جوابتون هستم

پاسخ یه این نظر

حسین گفت :
جمعه ۲ خرداد ۱۳۹۳ و ساعت ۵:۳۲ ب.ظ

با سلام و عرض ادب خدمت جنتل جنتل جنتل من

اول بابت وب سایت خشگل مشگلتون و آموزشهای خیلی قشنگتون و مهمتر از همه راحت بیان کردن که خیلی ساده میوفته تو مغزمون از شما سپـــــــــــــــاسگزارم

آموزشهای سوئچ مکستون عالیه

چند تا سوال برام پیش اومده که امیدوارم بتونم جوابهاشونو از وقت گرانمایه شما بگیرم

با اجازه

بنده طبق فرمایشات شما یک موزیک پلیر ساختم برای خشگل کردنش چند تا مورد پیش اومد که هر کاری کردم چون علمشو نداشتم نشد دیگه ( اعتراف آقا نتونستم )

اول موزیک پلیر بندرو نگاه کنید و بعد توضیحات
اگه مشکلی مشاهده شد که در توضیحات بنده نیست خوشحال میشم بگید

http://q27.ir/uploads/flash/be-man-rahm-kon.swf

اول اینکه در حالت لودینگ ، وقتی افکتی که به کلمه لودینگ میدم ، وقتی تموم میشه دیگه تکرار نمیشه و مات میمونه تا قسمت اصلی فایل لود بشه
( همون اول کاری معلومه ، لفا چند لحظه ثابت میمونه )

دوم اینکه

چطوری میتونم به نوشته هایی که داخل قالب درست کردم افکت بدم و تکرار بشه – اینم دقیقا شده مث لودینگ افکت تموم میشه دیگه تکرار نمیشه

بنده برای بهتر شدن موزیک پلیر این دو تا مشکل رو داشتم امیدوارم که جوابشونو از شما دریافت کنم

ممنون

پاسخ یه این نظر

جواد در پاسخ گفت :
جمعه ۲ خرداد ۱۳۹۳ و ساعت ۸:۰۵ ب.ظ

فکر می کنم آخر افکت ها از stop استفاده می کنی . اگر استفاده نمی کنی می تونی از کد moveto استفاده کنی و مثلن روی فریم ۱۰۰ بگی وقتی رسید بره و از فریم ۱ دوباره شروع کنه !
من سورست رو چون نمی بینم نمی دونم دقیقن مشکلت همینه یا نه ولی به احتمال خیلی زیاد به خاطر استفاده از stop هست :)

پاسخ یه این نظر

حسین گفت :
شنبه ۳ خرداد ۱۳۹۳ و ساعت ۱۱:۰۸ ب.ظ

بازم سلام

درست گفتید از افکت استاپ استفاده میکنم

میشه بیشتر راهنمایی کنید اینم سورس

Script forloading
********************/
onFrame(1, afterPlacedObjectEvents) {
if(sceneFrameLoaded(“Scene_1”, 1)) {
gotoSceneAndPlay(“Scene_1”, 1);
}
}
/********************
Script for… ظﺣﻟ دﻧﭼ ﺎﻔطﻟ…
********************/
onFrame(21, afterPlacedObjectEvents) {
gotoSceneAndPlay(“loading”, 1);
}
onFrame(22, afterPlacedObjectEvents) {
preloadContent();
}
/********************
Script forScene_1
********************/
onFrame(1) {
playSound(“1”,false,100,10);
}
onFrame(15) {
stop();
}
on(release)
{
getURL(“http://q27.ir”,”_blank”);
}
onFrame(1) {
fscommand(“FullScreen”,”true”);
}
/********************
Script for play
********************/
on(release) {
playSound(“1”);
}
/********************
Script for stop
********************/
on(release) {
stopSound(“1”);
}

پاسخ یه این نظر

جواد در پاسخ گفت :
یکشنبه ۴ خرداد ۱۳۹۳ و ساعت ۱۲:۰۶ ق.ظ

مشکل همون stop هست که گفتم ! توی فریم ۱۵ اون stop چه کاری انجام می ده ؟
وقتی پلیر به فریم ۱۵ می رسه دیگه نمی تونه ادامه بده و همون جا متوقف می شه :)

پاسخ یه این نظر

حسین گفت :
یکشنبه ۴ خرداد ۱۳۹۳ و ساعت ۳:۳۱ ب.ظ

میدونید چیه من دقیقا طبق فرمایشات شما جلو رفتم

آموزش ساخت دکمه
بعد
آموزش ساخت پلیر
و …

داخل تمام این آموزشها شما این استاپ رو قرار دادید !!!

داخل اسکریپ استاپ رو از روی فریم ۱۵ برداشتم

حالا میدونید چه اتفاقی افتاد ، موزیک تا آخر فریم میرفت و دوباره تکرار میشد
اگه موزیکو بخواد تا آخر بخونه باید به اندازه موزیک فرم درست کنم
حالا این که درست نشد لودینگ چکار کنم اون که دیگه استاپ نداره ؟؟؟؟

پاسخ یه این نظر

جواد در پاسخ گفت :
دوشنبه ۵ خرداد ۱۳۹۳ و ساعت ۱:۳۴ ق.ظ

خب مشکل اینجاست شما همه ی ساختار رو روی scene انجام دادید ! اگر انیمیشنی که می خواید لوپ یا دنباله دار باشه رو روی scene تعریف کنید و موزیک رو داخل یک Movie Clip و تگ استاپ رو اونجا بزارید این مشکل رو ندارید .
الان موزیک رو روی فریم ۱ تعریف کردید و هر وقت به فریم ۱ می رسیم موزیک تکرار می شه ! ولی وقتی موسیقی داخل یک Movie Clip باشه و استاپ شه Scene حرکت دنباله دارش رو ادامه می ده و موسیقی هم تکرار نمی شه :)

پاسخ یه این نظر

حسین گفت :
پنج شنبه ۸ خرداد ۱۳۹۳ و ساعت ۳:۱۳ ب.ظ

بازم سلام

آقا جواد بابا بلد نیستیمو واسه این وقتا گذاشتن

نشد داداش نشد

طبق فرمایشات شما یه موو کلیپ درست کردم بازم همون مشکل رو داره

وقتی موزیک رو داخل موو کلیپ قرار میدم اتومات بالا نمیاد

البته اینو بگم این مشکل فقط در مواردی هستش که بخوایم موزیک به صورت اتومات شروع به پخش کنه وگرنه در حالت پلی از طرف کاربر هیچ مشکلی نداره

پاسخ یه این نظر

جواد در پاسخ گفت :
جمعه ۹ خرداد ۱۳۹۳ و ساعت ۳:۳۵ ق.ظ

اگر می تونی سورسش رو برام میل کن ببینم ، اینجوری خیلی سخته بخوام مشکلش رو پیدا کنم ، ایمیلم توی قسمت تماس هست :)

پاسخ یه این نظر

نظر بدهید
  • نام: ضروری
  • ایمیل: ضروری
  • وبسایت:
  • پارسی را پاس بدارید و نظراتتان را با خط زیبای پارسی بنویسید. اگر صفحه کلید پارسی ندارید از بهنویس استفاده کنید.
    اگر می خواهید تصویرتان به صورت آواتار در کنار نظرتان نمایش داده شود از گراواتار استفاده کنید.
    ایمیلتون رو توی کادر زیر وارد کنید و عضو خبرنامه ی جنتلمن بشید تا همیشه آخرین مطالب رو توی ایمیلتون بخونید :
    اگه نمی خواید از طریق ایمیل جنتلمن رو دنبال کنید راه های دیگه ای هم برای اشتراک هست !
    آرشیو ماهانه
    برچسب ها
    لینک های خوشمزه
  • برو بچه ها بلاگر
  • دوستای مجازی
    تبلیغ
  • مطالبی که می نویسم آزاد هستند و انعکاس آن از هر طریقی مشکلی ندارد!
    Jentelman.com . Made With In IRAN . 2010- 2017