قسمت 5 :
قسمت 5 :
تا اینجای کار با ساختاری ابتدایی از چگونگی کار در محیط MonoGame آشنا شده ایم اکنون قدمی جدید را بر خواهیم داشت.
همانطور که در ابتدای اموزش ها هم به آن اشاره شد یکی از برتری های MonoGame نسبت به Xna قابلیت خروجی بر روی پلتفرم های مختلف همانند Andriod و ios و غیره ....
می باشد . یکی از محدودیت هایی که ساختار فعلی (کد نویسی با ویژوال استدیو ) برای ما ایجاد می کند عدم قابلیت دسترسی به پلتفرم های اضافه است . سازندگان MonoGame برای رفع این مشکل افزونه ای را علاوه بر ویژوال استدیو برای نسخه های نرم افزار برنامه نویسی Xarmin Studio فراهم کرده است .
این نرم افزار علاوه بر زیبایی ادعای رقابت با ویژوال استدیو را هم دارد !!!!!
در حال حاظر به جهت به مشکل بر نخوردن در روند ساخت پروژه های مولتی پلتفرمی در طی این اموزش ها ناچارا محیط برنامه نویسی را به Xarmin تغییر خواهیم داد .
نصب و فعال سازی Xarmin :
ابتدا وارد ادرس زیر شده و با توجه به سیستم عامل خودتان نسخه مناسب را دریافت کنید :
Xamarin Studio 4.0.1 installer
این نسخه را دریافت و نصب کنید
اکنون به مسیر زیر رفته و افزونه Mono Game که مخصوص این نرم افزار تهیه شده است را دریافت کنید :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
MonoGame 3.0.1 for Xamarin Studio
پس از دریافت وب سایت فوق فایلی با پسوند mpack دریافت خواهید کرد
ابتدا نرم افزار Xarmin را نصب کنید
آن را اجرا کرده و مطابق تصویر زیر پکیج را وارد نرم افزار کنید
پس از انجام این کار زمانی که بخواهید پکیج جدیدی را ایجاد کنید با مجموعه جدید اضافه شده رو به رو خواهید شد :
پس از اینجا تمامی روند کار همانند ویژوال استدیو می باشد و شما می توانید همانند آن با این نرم افزار کار کنید
دوباره از ابتدا اموزش ها را مطالعه و اینبار در قالب xarmin stdio آن ها را بررسی کنید
نکته : در حال حاظر دسترسی به ساخت بازی برای اندروید نخواهید داشت . در اینده اقدامات لازم جهت ساخت بازی با اندروید نیز بررسی خواهند شد
قسمت 6 :
مدیریت منابع در MonoGame بخش اول :
تعاریف اولیه
در ابتدا با تعریف چند اصطلاح به پیش اغاز می کنیم :
ابتدا منابع بازی شما همه چیز شما هستند!! منابع شامل همه چیز بازی در کنار کد های برنامه نویسی شما هستند . مدل های سه بعدی - فونت ها - تصاویر - جلوه های صوتی , موسیقی و غیره ..... که برای ساخت یک بازی ما به بیشتر این منابع خواهیم داشت . این بخش از اموزش ها بر روی چگونگی ساخت این منایع تمرکز نخواهد داشت بلکه نکات و چگونگی استفاده از ان ها را مرور خواهد کرد .
نکته دوم در مورد سیستم مدیریت منابع بازی می باشد . سیستم مدیریت منابع بازی جزئی از بازی , انجین بازی , است که منابع مورد نیاز خود را از فایل های خامی که نام برده شد دریافت و قابل استفاده جهت سازنده می کند . توجه به این سیستم در بازی نقش مهمی دارد چرا که با این کار اعتبار محصول نهایی خود را تضمین خواهید کرد چرا که کاربران محصول شما در خروجی نهایی تماما این گونه منابع را خواهند دید نه کدهای برنامه نویسی شده.استراتژی های گوناگونی جهت این بخش وجود دارد که می توان ان را به صورت دستی نیز پیکربندی کرد همانند استراتژی xna که فقط نام فایل را عوض کرده و پس تبدیل آن به منابعش مورد نیاز خود هم دسترسی را به آن اسان تر می کند و هم سرعت استفاده از ان .
به این نکته توجه داشته که ما در MonoGame نیز با همین روند فوق روبه رو خواهیم بود که در بخش دوم این قسمت به ان اشاراتی خواهد شد .
در ادامه جدول منابع قابل استفاده جهت ساخت پروژه را می توانید مشاهده کنی
فایل های سه بعدی : .x, .fbx
تصاویر و تکسچرها : .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga
اصوات : .xap (an XACT audio project), .wma, .mp3, .wav
فونت : .spritefont
و همچنین افکت ها : Effects
همانطور که می توان مشاهده کرد همان فایل های قابل پشتیبانی توسط xna نیز در اینجا کاربرد دارند و این به خاطر Port بودن این فریم ورک از xna می باشد .
همچنین نکته قابل توجه دیگری نیز وجود داشته که با گسترش هرچه بیشتر این فریم ورک دامنه فایل های قابل پشتیبانی نیز به همراه آن بیشتر شده که در اینده و در طی انجام پروژه های عملی آن ها را نیز مشاهده خواهیم کرد .
بخش 2 :
در بخش قبل به اهمیت سیستم مدیریت منابع در انجین پرداخته شد . در این بخش ابتدا روند عمومی چگونه استفاده کردن از منابع بررسی و سپس در قسمت 7 نحوه پکیج بندی بر اساس متد داخلی MonoGame بررسی خواهد شد .
مواد خام یک بازی از هرچیزی ک می توان از ان در بازی استفاده کرد تشکیل می شود. همانند بخش قبل مجدد جدول انواع منابع قابل استفاده در بازی را عنوان می کنیم :
فایل های سه بعدی : .x, .fbx
تصاویر و تکسچرها : .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, .tga
اصوات : .xap (an XACT audio project), .wma, .mp3, .wav
فونت : .spritefont
و همچنین افکت ها : Effects
این سری از فایل ها به همراه چند گروه دیگر که در MonoGame به قابلیت های ان اضافه شده است را اجزای تشکیل دهنده بازی خود خواهیم نامید . اکنون می خواهیم بدانیم که چگونه می توانیم از این فایل ها استفاده کنیم .
ادیتور برنامه نویسی مورد نظر خود را اجرا کنید (در اینجا ما از Xarmin Studio استفاده می کنیم) سپس پروژه جدیدی از نوع MonoGame Windows OpenGl Studio ایجاد کنید .
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همانطور که در تصویر فوق مشاهده می کنید در میان فایل های پروژه شما پوشه ای با نام Content وجود دارد . در واقع این پوشه محل منابع مورد استفاده در ساخت بازی شما هستند و در کل و در صورت عدم تغییر تمامی منابع شما از این مکان توسط فریم ورک قابل استفاده خواهند بود .
اکنون می خواهیم یک فایل به عنوان نمونه به این قسمت اضافه کنیم .
جهت انجام این کار بر روی پوشه Content راست کلیک کرده و سپس از طریق گزینه Add و سپس AddFile یک فایل تصویری تحت قالب همان جدول بالا انتخاب و وارد کنید
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
همانطور که می بینید پس از انجام این کار فایل مورد نظر به این قسمت اضافه شده اکنون باید آن را به پروژه خود منتقل کنیم
برای این کار بر روی آن راست کلیک کرده و مطابق تصویر عمل کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
پس از انجام این کار فایل شما مستقیما به پروژه اضافه میشود. اکنون ان را عملا ازمایش کنیم .
برای انجام این کار کدهای زیر را به کلاس Game خود اضافه کنید.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
}
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پس از اضافه کردن خطوط جدید با build کردن پروژه آن را اجرا کنید تا خروجی را مشاهده کنید :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تا اینجا به چگونگی اضافه و استفاده کردن یک منبع خارجی اشنا شده ایم .
مباحث مربوط به قالب بندی پکیج ها در بخش بعدی مورد بررسی قرار خواهد گرفت
در اینجا از کدهای جدیدی استفاده شده که در قسمت های بعدی به طور کامل به آن ها خواهیم پرداخت
پایان بخش 6