قسمت 9 :
تمرین 1 : نقاشی فضایی!!
در این قسمت چگونگی استفاده از تصاویر و در کل رسم سکانس های دو بعدی را در صفحه بازی خواهیم اموخت .
منابع مورد استفاده :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
توجه داشته باشید برای انجام این تمرین شما می توانید از هر تصویری که می خواهید استفاده کنید . هدف این تمرین در حقیقت این است که به شما چگونگی رسم اینگونه تصاویر را نشان دهد . پس از آن شما می توانید هرگونه تصاویری را بر روی صفحه ترسیم کنید .
اگر بخش های قبلی را مطالعه کرده باشید حتما بخش برای شما تکراری خواهد بود !!!!
شروع تمرین :
در قسمت های قبلی با مفاهیم مورد نیاز این مثال و تمرین اشنا شده ایم .
اموختیم که چگونه منابع را وارد کنیم
و مفاهیم سیستم مختصات دو بعدی را نیز تا حدودی بررسی کرده ایم .
اکنون با مثالی این مفهوم را به صورت عملی نمایش خواهیم داد.
نرم افزار کد نویسی خود را اجرا کنید :
(همانطور که در قبل نیز به آن اشاره شد برای مقایسه کاربرد دو ادیتور معرفی شده ویژوال استدیو و Xarmin Studio به تناوب هر دو را مورد استفاده قرار خواهیم داد)
من در این تمرین از ویژوال استدیو استفاده خواهم کرد .
پروژه جدیدی از نوع MonoGame Windows OpenGl Project ایجاد کنید
همانطور که با چگونگی وارد کرد کنتنت ها یا همان منابع در قسمت های قبل اشنا شده اید سه تصویر تمرین فوق را وارد بخش Content های این پروژه کنید .
اکنون کلاس Game را اجرا کرده و شروع به کد نویسی می کنیم .
ابتدا باید متغییر هایی برای نگه داری این سه تصویر تعریف کرد .
سه متغییر فوق را به صورت سراسری تعریف می کنیم .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تا اینجای کار ما سه متغییر مورد نیازمان را که از نوع تصاویر دو بعدی هستند را تعریف کرده ایم .
اکنون باید آن ها را وارد کنیم .
همانطور که می دانید برای این کار باید وارد کردن این منابع را در متد LoadContent انجام دهیم .
سه دستور زیر را به این متد اضافه کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا سه تصویر شما در بازی بارگزاری شده و اماده استفاده هستند
اکنون باید آن ها را رسم کنیم .
SpriteBatche :
SpriteBatche یکی از دستورات مهم در زمینه رسم تصاویر دو بعدی می باشد . SpriteBatche شامل متدهایی است که برای رسم تصاویر دو بعدی در سکانس به کار می رود.
برای استفاده از ان باید ابتدا یک نمونه سازی از ان را انجام دهیم .
اگر چه به صورت پیش فرض این متغییر و نمونه سازی ان انجام شده است اما جهت انجام این کار ابتدا متغییر را به صورت زیر :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و سپس نمونه سازی ان را در متد LoadContent به صورت زیر انجام می دهیم :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
جهت رسم تصاویر دو بعدی با استفاده از این دستور ما باید به متد Draw آن دسترسی داشته باشیم .
متد Draw این دستور شامل بخش های زیر می شود :
1- نام تکسچر : همان تکسچری که در متد LoadContent آن را مقدار دهی کرده ایم .
2 - مختصات طول - عرض و محل قرار گیری بر روی تصویر
3 - رنگ
برای رسم باید این کار را در متد Draw انجام دهیم .
در متد Draw ایتدا شروع و پایانی برای این رسم در نظر می گیریم .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حال با استفاده از متد Draw شیئ ایجاد شده Sprite Batch اولین تکسچر را رسم می کنیم .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پس از اجرای پروژه می توانید خروجی آن را مشاهده کنید :
در ادامه دو تصویر بعدی را نیز با قرار دادن در ادامه این دستور و در متد Draw رسم خواهیم کرد .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
* پارامتر های به کار برده شده در قسمت مختصات رسم تصاویر :
در اولین رسم ما Rectangle را داریم که شامل مختصات زیر است :
محل قرار گیری در صفحه :
طول - عرض
اندازه رسم :
طول - عرض
در دو رسم بعدی ما تنها یک محور 2 بعدی با نام Vactor داریم که فقط مختصات رسم ها را دریافت کرده و بر روی نمایش تکسچر اعمال می کنند و برعکس اولی نقشی در تغییر طول آن ها ندارند.
پس از اجرا می توانید خروجی را مشاهده کنید :
ما به خوبی توانستیم با استفاده از مفاهیمی که تا اینجا اموخته ایم یک سکانس را پیاده سازی کنیم . پیشنهاد می کنم برای تمرین بیشتر این رسم ها را با تصاویر دیگر و یا بیشتری انجام دهید .
پایان بخش 9