موتورهای فیزیکی در فلش ۲
۹۵/۰۳/۱۱
آموزش کار با box2D
۹۵/۰۳/۱۱

موتورهای فیزیکی در فلش ۱

سلام خدمت تمام دوستان عزیز
خوب بالاخره بعد از مدت ها اومدم و خوشحالم بگم که برا مطرح کردن یه بحثی اومدم که خیلی کم توی سایت های فارسی بهش اشاره شده و بهتر بگم اصلا بهش اشاره نشده اما یکی از بحث هایی هست که واقعا قدرت فلش رو ۲ چندان کرده و من شخصا لذت فلش رو با این بحث حس کردم .
خوب مقدمه بیخودی بستههمینطور که از اسم تاپیک هم معلومه می خوام در مورد موتورهای فیزیکی در فلش صحبت کنم که موتورهای فیزیکی چی هستن ؟ به چه دردی می خورن ؟ چه جوری می شه باهاشون کار کرد ؟ کدوماشون خوبن و از این چیزا دیگه …
امیدوارم بتونم با کمک شما دوستان عزیز تاپیک خوبی راه بندازم .
راستش امروز تازه امتحانام تموم شده و یه مقداری هم کم خوابی برا همین خیلی نمی تونم امروز پستای کامل بدم و فقط خواستم این پست یک شروع باشه .
برای شروع چندتا سوالی رو که بالا مطرح کردم به صورت خیلی خلاصه جوب می دم . ایشالا به زودی بحث های مفصل و تکمیلی رو اضاف می کنم .
۱- موتورهای فیزیکی یا (physics engine) به صورت خیلی ساده مجموعه ای از کلاس ها هستند که شما با استفاده از متدهای این کلاس ها می تونید تمامی حرکت هایی رو که در دنیای واقعی اتفاق می افته رو شبیه سازی کنید این حرکت ها شامل : گرانش زمین ، برخورد اجسام به هر جایی (منظور اینه که برخوردها کاملا طبیعی اتفاق می افته) برای مثال فرض کنیدشما یک توپ رو با زاویه ۴۵ درجه به سمت یک دیوار پرتاب می کنید وقتی شما پرتاب رو انجام می دید انتظار دارید توپ با یک زاویه منطقی به سمتی که شما هدف گرفتید حرکت کنه . اما خوب اگر کمی با کد نویسی فلش آشنا باشید می دونید که این کار حتی برای یک شیء استاتیک هم نسبتا کار سختی هست حالا دیگه وای به حال اینکه اشیاء بخوان داینامیک باشن و تعدادشونم زیاد !!
ولی موتورهای فیزیک این کار رو برای ما راحت کردن (البته برای یاد گرفتن کار با این موتورها هم باید قید راحتی رو بزنید!) شاید برای اینکه منظورم رو بهتر بگم بد نباشه یه مثال بذارم . این مثال سایت خودم هست که اولین کار آنلاین من با موتور فیزیکی (Box2D) هست . http://darajeh.net (فقط حواستون باشه همچین از cpuتون زیاد کار می کشه ) خوب همونظور که توی سایت هم می بینید اشیا وقتی به هم برخورد می کنن چه جوری تغییر وضعیت می دن .
۲- کاربرد اصلی این موتورها ساخت بازی هست . توی دنیای ۲بعدی که با داشتن یکی از این موتورها و تسلط کافی به اونها می تونید بازی ها خیلی جالب و خفنی رو خلق کنید . البته بعضی ها این موتورها رو توی سایت سازی هم استفاده می کنن (یکیش خود من :دی)
۳- چه جوری کار کردن با اینها هم مستلزم اینه که اول با کدنویسی شیئگرا توی فلش خوب آشنا باشید و بعدش هم اولش با آموزش های من یه شروعی داشته باشید بعدش به امید خدا اینترنت …
۴- موتورهای فیزیک اول برای زبان های قدرتمندی مثل C خلق شدن ولی کم کم این موتورها برای سایر زبان ها هم نوشته شدن که یکی از این زبان ها همین AS3 خودمون هست . چندتا موتور فیزیکی معروف که الان هستن عبارتند از : Box2D (من خودم با این کار می کنم و خیلی هم دوستش دارم و فکر کنم این از همشون هم بهتر باشه عللش رو ایشالا بعدا می گم) ، بعدیش موتور APE هست (فکر کنم این موتور از طرف دانشگاه MIT توسعه داده می شه و در نتیجه حمایت خوبی رو دنبال خودش داره ) ، Fisix Engine در مورد اینم زیاد شنیدم ولی راشت اطلاعات دقیقی ازش ندارم .
و در نهایت باید بگم به علت اینکه این موتورها با موتورهای ۳بعدی ساز مثل PV3D هم می تونن ارتباط برقرار کنن واقعا قدرت خارق العاده ای به فلش می دن که برای ساخت بازی واقعا خارق العاده می شه البته کدنویسیش خارق العاده تره !! (حالا ببینم دیگه کی می تونه فلش رو بذاره جلوی HTML5)
اینم همون تلفیقی هست که می گم http://www.flashbookmarks.com/demos/soccerballdance/ ولی نمی دونم از کدوم موتورها توش استفاده شده .
خوب فعلا برای امروز کافی هست .
از دوستان خواهش می کنم اگر کسی در زمینه کار با این موتورها تجربه داره اینجا مطرح کنه تا هم من و هم بقیه دوستان استفاده کنند .

موفق و پیروز باشی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*ضروری