مدت زیادی بود درباره ی آموزش swish max چیزی ننوشته بودم و امروز تصمیم گرفتم یه قسمت دیگه از این سری آموزش ها رو بنویسم . در مبحث قبلی که اینجا نوشتم درباره ی افکت های swish max گفتم و قول دادم در آموزش بعدی درباره ی دکمه ها و طریقه ی ساخت button در این برنامه بنویسم .
ساخت دکمه در swish max چندین روش داره و می شه دکمه ها رو با استفاده از کدهای مختف ساخت ، اما من یکی از راه هایی که خودم استفاده می کنم و به نظرم ساده تره رو به شما معرفی می کنم و مرحله به مرحله طریقه ی ساخت یه دکمه رو براتون می نویسم .
فرض کنید ما دو تصویر زیر رو داریم و می خواهیم برای دکمه از اون ها استفاده کنیم ، تصویر اول همیشه به کاربر نشون داده می شه و تصویر دوم وقتی که کاربر موس رو روی دکمه برد ظاهر می شه ، برای زیبایی کار هم می تونیم زیر دکمه ، متنی رو بنویسیم که وقتی کاربر موس رو روی دکمه برد به عنوان توضیحات ظاهر بشه و وقتی موس رو از روی دکمه کنار برد محو بشه ( من این دو تا طرح رو قبلا طراحی کردم ، ولی شما می تونید با ابزار طراحی swish max نیز دکمه ی خودتون رو طراحی کنید . البته طرح هایی که با swish max می کشید زیاد جنبه ی گرافیکی ندارند و بیشتر حالت کارتونی دارن )
برای ساخت دکمه ابتدا تصویر اول ( که می خواهیم کاربر اول اونو ببینه ) رو باز می کنیم . برای این کار از قسمت Insert روی Import Image کلیک کنید و تصویر اول رو باز کنید . بعد تصویر دوم رو هم با همین روش باز کنید و اون رو هم به برنامه اضافه کنید . اینجا اگه متنی رو هم دوست دارید به عنوان توضیحات نمایش داده بشه ، به وسیله ی ابزار Text به کارتون اضافه کنید . ( مثلا من متن ” نمایش تصویرهای من” رو برای توضیحات اضافه می کنم ! )
تصویر دوم رو باید روی تصویر اول مچ کنید . به طوری که وقتی موس رو روی تصویر اول ببریم تصویر دوم طوری ظاهر بشه که انگار تصویر اول روشن شده . برای این کار کافیه از قسمتابعاد x و y تصویر اول رو دریافت و تصویر دوم رو به همون ابعاد منتقل کنید .
حالا برای زیبایی دکمه ، به تصویر دوم بعد از گذاشتن یک فریم فاصله ، افکت Fade In و بعد از گذاشتن یک فریم فاصله دیگه ، افکت Fade Out رو می دم ( مثل تصویر زیر ) با این کار می خوام تعریف کنم که وقتی موس روی دکمه اومد تصویر دوم به صورت فید ظاهر بشه و وقتی موس رو از روی دکمه بردیم کنار به صورت فید محو بشه و دوباره کاربر تصویر اصلی دکمه رو ببینه . شما می تونید از هر افکت دیگه ای برای این کار استفاده کنید . من طریقه ی کار با افکت های swish max رو اینجا نوشتم . همچنین برای زیبایی کارم به متن توضیحات هم یک افکت ورود و یک افکت خروج می دم .
حالا وارد قسمت کد نویسی می شیم و از این جا به بعدش یه سری برنامه نویسی های ساده داریم . اول باید اون فریم های خالی بین تصویر دوم رو پر کنیم . من اون فریم ها رو خالی گذاشتم تا بتونم اونجاها به انیمیشنم Stop بدم . روی فریم اول که خالی گذاشتیم کلیک راست کنید ( توجه کنید که روی Scene این قسمت کلیک راست کنید ) و از قسمت Movie Control گزینه ی Stop رو انتخاب کنید . با این کار انیمیشن روی فریم یک متوقف می شه و تا بهش دستور پخش داده نشده پخش نخواهد شد . حالا اگه فریم دومی که خالی گذاشتید رو هم Stop بزارید ، انیمیشن بعد از پخش شدن روی فریم بعدی که دستور Stop داده شده مجدد متوقف می شه و دوباره تا دستور دریافت نکنه پخش نمی شه ! ( توی تصویر زیر می بینید که من روی فریم اول دستور رو دادم و اون نقطه ی قرمز رنگ نشون دهنده ی اینه که اونجا دستور Stop داده شده ، و الانم دارم روی فاصله ی خالی بعدی این دستور رو اعمال می کنم )
حالا باید به تصویر اولمون دستور بدیم که وقتی موس رو روش آوردن انیمیشن رو از فریم ۲ پخش کنه و وقتی موس رو کنار بردیم انیمیشن رو از فریم ۲۳ پخش کنه ( توجه کنید که طبق تصویر بالا فریم ۲۳ اولین فریم من بعد از Stop دوم هست و شما اگه طول فریم هاتون رو بیشتر یا کمتر کنید این عدد هم تغیر می کنه ) برای این کار از قسمت Outline تصویر اولمون رو انتخاب می کنیم ، بعد از بالای پنجره ی طراحیمون وارد قسمت Script که توی تصویر زیر هم مشخص شده می شیم و از این جا به بعد دستورایی که در ادامه دادم رو باید به برنامه بدیم .
وقتی وارد این قسمت شدید ابتدا دستور زیر رو وارد کنید :
on (rollOver) {
gotoAndPlay(2);
}
دستور بالا مشخص می کنه که با بردن موس روی تصویر ، انیمیشن از فریم ۲ شروع به پخش کنه ، اینجا تصویر دوم و متنمون با اون افکت هایی که دادیم شروع به پخش می کنه و وقتی به دستور Stop که قبلا مشخص کردیم رسید متوقف می شه . حالا در ادامش دستور بعدی رو بنویسید :
on (rollOut) {
gotoAndPlay(23);
}
این دستور هم مشخص می کنه که وقتی موس رو از روی لینک کنار بردیم انیمیشن از فریم ۲۳ پخش بشه . حالا برای این که تعریف کنید با کلیک موس چه اتفاقی بیفته باید از دستور زیر استفاده کنید :
on (press) {
getURL(“http://www.jentelman.com”, “_blank”);
}
من توی دستور بالا مشخص کردم با کلیک موس ، سایت من نمایش داده بشه ، ولی اگه دستورای دیگه ای می خواهید بدید باید بین { } کداتون رو بنویسد .
حالا کار تمومه ! و دکمه ی شما آماده شده ، فقط چند تا نکته هست که لازمه بگم :
اگه شما خواستید چند تا دکمه بسازید ، باید قبل از ساخت دکمه از منوی Insert روی Movie Clip کلیک کنید ، با این کار شما یک Movie Clip ساخته اید و در قسمت Outline می توانید آن را ببینید . حال باید کلیه ی مراحل گفته شده را در داخل Movie Clip ساخته شده انجام دهید . در اصل Movie Clip ها یک قسمت مجزا در هر Scene به حساب میان و شما در هر Movie Clip می تونید دستورات مجزا از پروژه رو وارد کنید . درباره ی Movie Clip بعدا بیشتر صحبت می کنم .
اگه دوست دارید روی دکمه ، آهنگ داشته باشید به صورتی که وقتی موس رو روی دکمه بردیم یه صدای کوچیک پخش شه باید روی Scene فریم ۲ کلیک راست کنید و از قسمت Sound گزینه ی PlaySound رو انتخاب کنید . صفحه ی کدها برای شما نمایش داده می شه ، از منوی بالای این صفحه قسمت Script Assistant رو فعال کنید و روی کد ;(“”)playSound کلیک کنید . در پنجره ای که بالای صفحه باز شده روی Import کلیک کنید و آهنگ مورد نظرتون رو باز کنید و بعد از لیست مقابلش انتخاب نمایید . با این کار وقتی موس روی آیکون شما بره موسیقی انتخابی پخش می شه . شما از همین روش برای پخش موسیقی زمانی که موس را از روی آیکون به کنار بردیم می تونید استفاده کنید .
اگه دوست ندارید برای نمایش آیکون از افکت استفاده کنید باید روی فریم ۱ و ۳ Stop بزارید و در کد دوم هم باید دستور بدید انیمیشن از فریم ۴ پخش شود . با این کار برای نمایش دکمه ی شما از هیچ فریمی استفاده نمی شه .
تو بخش بعدی سعی می کنم درباره ی Loading ها بنویسم ، که البته چون این بخش مفصلیه شاید در چند قسمت آموزش بدم …
در پایان اینم خروجی پروژه ی منه که الان کاملا طرز ساختش رو توضیح دادم :
ممنون بابت این مطلب خوب.برای من هم بسیار مفید بود
عالی بود
ممنون
سلام. بسیار خوب و کامل توضیح دادید.
بیان شیوا و دقیقی دارید.
موفق و موید باشید.
ممنون
امیدوارم مفید بوده باشه برات
بسیـــــــــــــــــــــــار عالی عالی بـــــــــــــــود
دوست عزیز من وقتی کد لینک رو اضافه میکنم منضورم این کد on (press) {
getURL(“http://www.jentelman.com”, “_blank”);
} و بعد اکسپورت پورت با فورمت swf میگیرم وتو وبلاگم میزارم..ولی وقتی کلیک میکنم هیچ اتفاقی نمیفته یه جای دیگه هم برای لینک دادن داره بخش on click اونجا هم گذاشتم ولی جواب نداد لطفا راهنمای کنید.
وقتی کد رو وارد می کنی دقت کن نباید آبجکت های مورد نظر توی قسمت اسکریپت نویسی به رنگ قرمز در بیاد ! اگر قرمز شد جایی کد رو اشتباه وارد کردی ! یادت هم باشه علامت ” رو باید به شکل صاف با فشار دادن شیفت و کلید گ تایپ کنی و نه به شکل کجی که اینجا می بینی !
بهتره برای کد نویسی راحت تر توی اسکریپت قسمت Script Assistant رو فعال کنی و از اونجا کدهارو کامل کنی .
قبل از خروجی حتمن با فشار دادن کنترل+اینتر پروژه رو تست کن و روش کلیک کن تا مطمئن بشی درست کار می کنه و اگه بعد از کلیک دیدی کار نکرد بدون مشکل از کدهاست و اگه کار می کرد و توی سایت کار نمی کرد مشکل از کدهای سایت هست و احتمالن فلش رو زیر یه لایه ی دیگه قرار دادی و اون لایه جلوش رو گرفته
بله درسته دقیقا من وقتی کد زیرو وارد میکنم ابجکت on press به رنگ قرمز در میاد
on (press) {
getURL(“http://www.jentelman.com”, “_blank”);
لینک زیر رو هم ببین لطفا تصویری از اونجاست که میگم
http://s3.picofile.com/file/7678617525/untitled.jpg
ممنون میشم بخدا
دقیقن مشکل همون “ هست ! گفتم توی کامنتم که به جای “ و ” باید با فشار دادن شیفت و حرف گ گیومه بزاری !
مشکلت گیومه هاست اونا کجن نباید کج باشه صاف باید بزاری !
راستی دوست عزیز تو برنامه کلیک میکنم سایت باز میشه ولی وقتی خروجی میگیرم تو دکستاپ کار نمیکنه اخه چرا دیگه دارم هنگ میکنم…
آره درسته توی فلش پلیر که باز می شه نباید سایت رو باز کنه !
چون باز کردن سایت تحت وب هست باید خروجی رو با مرورگر باز کنی . اگه موقع ساخت لینک باز می شه ، خروجی رو توی سایت بزاری لینک رو باز می کنه . توی دسکتاپ ولی چون تحت وب نیست باز نمی شه
یه دنیا ممنون دوست عزیز تا حدودی مشکلم بر طرف شد امیدوارم همیشه موفق باشی..الان دیگه هیچکدوم به رنگ قرمز نیستن…بعد جایم که فلش رو اپلود میکنم تاثیر داره به اینکه لینک کار کنه یا نکنه؟
نه ربطی نداره
اقا من کد لینک درست وارد کردم همونطور که خودتون گفتین دیگه قرمز نیست وقتی تو کد وبلاگم میزارم بازم کار نمیکنه تو مطلبم گذاشتم نمایش میده ولی بازم لینکو بازی نمیکنه من کارمو این زیر گذاشتم اگه وقت کردی یه نگاه بنداز ببین این مشکلش چیه بصورت فایل rar ‘گذاشتم با اینم لینک دانلودش……………………………………………………………………………..
http://s1.picofile.com/file/7679960214/Movie12.rar.html
توی این چیزی که فرستادی اصن لینک تعریف نشده که !
فقط یه دکمست که افکت بهش دادی ! باید برای دکمت با دستور (on (press یه لینک تعریف کنی ، الان بدون دستور نمی دونه که وقتی روش کلیک شد چی کار کنه خب
داداش من هر کاری که گفتی کردم ولی بازم تو وب لینکو باز نمیکنه (البته دیگه هیچکدوم از ابجکت ها قرمز نیستن) میخواستم بدونم اگه ممکنه اون پروژه تو برای دانلود بزاری همون که تو مطلب گذاشتی اون بالا میره روش مینویسه نمایش عکس های من
واقعا این کار مشکل گشاست اگه بزاری یه دنیا ممنونتم اگه هم نه بازم لطف کردی هرچند من دیگه خجالت میکشم این جا کامنت بزارم.
مهران عزیز اون فایلی که فرستادی رو دیدم و زیر کامنتت جوابش رو دادم
بله من لینکو خودم برداشته بودم تا شما دستورو بدین و اگه زحمتی نبود برای دانلود قرار میدادین. ولی انگار به نظر بالا اصلا توجه نکردی! در هر حال on perss و get url رو که میدم ادرس وبم رو هم میدم بازم تو وب کار نمیکنه تو چنتا انجمن این سوال مطرح کردم در جواب گفته بودن باید یه button تعریف کنی منظورم اون باتنی که بالای تولبار قرار داره با این روش on perss اصلا جواب نمیده چنتا دستور دیگه رو هم امتحان کردم به هر حال مرسی مرد خودم یه جوری حلش میکنم..
من یه نمونه تستی برات توی این هفته درست می کنم و سورسشو می زارم دانلود کنی ببینی چه جوریه و مشکلت چیه
اقا مرسی ولی پس کو لینکش کجاست
لینک چی ؟!
هیچی داداش مرسی مشکلم حل شد.فقط اگه برات امکانش هست یه اموزش در رابطه کار با movie clip بزار که چطوری چندا دکمه بسازیم…با تشکر از زحمت های که میکشی..اخه این اموزش رو هیچ کجا درس درمون پیدا نکردم..
وقتی هر دکمه ای رو که ساختی توی یه movie clip بزاری می شه یه دکمه مجزا …
خیلی سخت نیست فقط هر دکمه رو توی یه movie clip باید بسازی ، اینجوری می تونی بی شمار دکمه بسازی
سلام آقا جواد من با همون روشی که گفتید دکمه ورود به سایت درست کردم فقط وقتی کلیک میکنیم تو یه پیج دیگه سایت باز میشه … میخواستم تو همون پیج باز بشه باید چیکار کنم؟ ممنون
توی این خط از کد : getURL(“http://www.jentelman.com”, “_blank”);
به جای _blank از _self یا _top استفاده کن .
خیلی ممنون مهندس … مشکلم حل شد .
با سلام و خسته نباشید
میخوام بعد از ۵ ثانیه لینک اتوماتیک بازبشه ، باید چی کار کنم؟
لطفا راهنمایی ام کنید
باید باز شدن لینک رو روی فریم ۱۲۵ تعریف کنی ، چون هر ۲۵ فریم ۱ ثانیه حساب می شه
خیلی ممنون
چطور میشه دستور داد که یک کد جاوا اسکریپت رو از سایت دیگه ای بخونه؟
توی سوییش مکس جاوا اسکریپت رو بخونه ؟!
سوییش مکس زبون جاوا اسکریپت رو نمی شناسه ، یعنی اصلن نسبتی ندارن این دو تا :/
پس قسمت javascript –>>brower/network چه کارایی داره؟
هیچ اسکریپتی نمیشه اضافه کرد؟!
این قسمت برای ارسال یه سری مقادیر به جاوا اسکریپت و دریافت پاسخه . کاری شبیه به آجاکس رو توی سوییش مکس انجام می ده
خوب بود یه چیشنهاد چرا اینکارت رو به صورت فیلم ضبط نمی کنی و در سایت نمیگذاری اینطوری خیلی بهتره
حتمن بهش فکر می کنم، ممنون
سلام.واقعا از آموزش های عالیتون لذت بردم.
جناب بنده در حال یه نرم افزار فلش برای یادواره شهدا هستم.
آخرش که تموم میشه می خوام خارج بشه و خودش برنامه را ببنده.اما نمی دونم کجا باید این کارا بکنم
مثلا تو برنامه اتو پلی می تونیم زمان بدیم یه کد بدهیم که بر فرض مثال بعد از تمام شدن فیلم نرم افزار خودش خارج بشه اما تو سوئیش هرچه گشتم همچنین قابلیتی نبود.آیا این امکان وجود دارد که وقتی یه frame خاصی رسید فلش بسته شود؟اگر بله چه گونه؟
با استفاده از fscommand می تونی همچین کاری کنی . کد زیر رو ببین :
onFrame (50) {
fscommand(“quit”,””);
}
این کد با استفاده از fscommand می گه که توی فریم ۵۰ پروژه بسته شه . فقط اگه خواستی کپی کنی حواست باشه ” ها رو که اینجا به شکل کج نشون می ده صاف کنی تا کد کار کنه
ممنونم.واقعا عالی بود.
باسلام.ببخشید بنده می خواستم بپرسم آیا امکان دارد تو سئیش وقتی به یه frame خاصی رسیدیم این frame مثه یه دکمه عمل کنه و فلش را به یه frame دیگه هدایت کنه؟
مثلا تا رسید به فرم ۱۲ به صورت خودکار مجددا برگرده به فرم ۵
می شه !
باید از دستور gotoAndPlay استفاده کنی . مثلن برای همین مثالی که زدی باید بنویسی :
onFrame (12) {
gotoAndPlay(5);
}
سلام خسته نباشید.
ببخشید من می خواستم یه فال درست کنم
به این صورت که فرد اسمشا بنویسه بعد یه نوشته همراه با اسم فرد چاپ بشه.
ایا امکان دارد؟
آیا می شود نوشته هم در میان تعدادی داده به صورت تصادفی انتخاب شود؟
بله تمام این موارد رو می تونید پیاده کنید ولی برنامه نویسی زیادی داره و احتیاج به یه آموزش کامله و توی یه کامنت نمی شه جواب داد بهش !
اگر رسیدم یه پست حتمن دربارش می نویسم و توضیح می دم چجوری می شه این کارو کرد
با سلام
ممنون از مطالب کاربردی شما
من کار با سویش مکس را تازه شروع کردم.من میخوام یه نرم افزار آموزشی برای کودکان استثنایی کلاس دوم بسازم.من در این قسمت که چه جوری وقتی مثلا روی دکمه شروع کلیک کنیم به صفحه ی بعدی بره و منو نشون داده بشه و یا اونجا روی موضوع خاصی کلیک کنه و مطالبشو ببینه مشکل دارم.ممنون میشم اگه راهنمایی کنید
اگه زحمتی نیست پاسخ ر ا به ایمیلم ارسال کنید
ممنون
سه شنبه ۲۴ خرداد ۱۳۹۰ و ساعت ۱:۲۷ ق.ظ
salam ,
khastam tashakor konam be khatere amoozeshetoon ,
man kheili vaght pish ba version haye ghadimie swish kar karde boodam badan yadam rafte bood ,
daghighan donbale hamin amoozeshe shoma boodam
oon nokte akharesh dar estefade az chand movie clip kheili mofid bood ,
movafagh bashid
سه شنبه ۲۴ خرداد ۱۳۹۰ و ساعت ۱:۳۵ ق.ظ
خواهش می کنم 😉