کدنویسی درگیم میکر قسمت12:متغیرهای مکانی و حرکتی

کدنویسی درگیم میکر قسمت12:متغیرهای مکانی و حرکتی

متغیر

در درس قبل با یک قانون مهم در کدنویسی با نام تقدم عملگرها آشنا شدیم که رعایت کردن آن برای انجام محاسبات ضروری است. در این درس همانطور که وعده داده شد تصمیم داریم موضوع متغیرها را بیشتر مورد بررسی قرار دهیم.

همان طور که در درس های پیشین به صورت مکرر گفته شد، متغیرها مهمترین مفاهیم مورد استفاده در کدنویسی هستند و تقریبا نمی توان یک مکانیک از گیم پلی را تصور کرد که بدون کاربرد متغیرها قابل پیاده سازی باشد. چنان که می دانید، متغیرها مفاهیمی هستند که مقدار ثابتی ندارند و می توانند برابر با مقادیر متعددی باشند. نکته مهمی که باید بدانید این است که متغیرها انواع مختلفی دارند و بسته به نوع و دسته بندی آنها جنبه خاصی از ویژگی های آبجکت ها را کنترل می کنند. در این درس تصمیم داریم تعدادی از انواع متغیرها را معرفی و بررسی کنیم.

متغیر های مکانی

شاید، ابتدایی ترین نوع متغیرها در گیم میکر، متغیرهای مکانی طول (x) و عرض (y) هستند. این دو متغیر محل قرار گرفتن آبجکت در روم بازی را مشخص می کنند و می توانند برابر با هر عدد حقیقی بوده و هیچ محدودیتی در این زمینه ندارند. بنابراین هر آبجکت به محض قرار گرفتن در هر نقطه از روم دارای این دو متغیر مکانی خواهد بود. به همین صورت، چنان که در درس های قبل دیدید، اگر برنامه نویس این دو متغیر را برابر با مقادیر دلخواه خود قرار دهد، می تواند محل قرار گرفتن آبجکت در روم بازی را تغییر داده و یا مدیریت کند.

متغیرهای حرکتی

اینگونه متغیرها وضعیت حرکت و جابه جایی آبجکت را کنترل می کنند و دو نمونه از معروفترین نمونه های آن  speed که تعیین کننده سرعت حرکت و متغیر direction که کنترل کننده راستای حرکت آن است، می باشد.

متغیر speed  ،همانند متغیرهای مکانی ممکن است برابر با هر عدد حقیقی باشد و منظور از آن تعداد پیکسل طی شده در هر استپ از بازی است. به عنوان مثال زمانی که شما برای یک آبجکت کد زیر را می نویسید:

speed =5;

به این معناست که این آبجکت در هر استپ از بازی با سرعت 5 پیکسل حرکت کند.

متغیر direction  که نشان دهنده راستای حرکت آبجکت است نیز می تواند برابر با هر عدد حقیقی قرار بگیرد، با این تفاوت که مقدار آن به صورت زاویه و برحسب درجه بیان می شود. برای درک بهتر این موضوع به تصویر زیر دقت کنید تا بهتر با مفهوم زاویه در گیم میکر آشنا شویم.

متغیر

همان طور که می بینید زاویه های مختلف در قالب یک دایره مثلثاتی تعریف می شوند. زاویه صفر درجه به معنای حرکت مستقیم به سمت راست می باشد. اگر از این زاویه در خلاف جهت عقربه ساعت حرکت کنیم، زاویه مورب شده و به تدریج بیشتر و بیشتر شده تا زاویه 90 درجه که دقیقا در جهت بالا محسوب می شود. اگر همین حرکت را در خلاف جهت ساعت ادامه دهیم، زاویه 180 درجه به سمت چپ، زاویه 270 درجه به سمت پایین خواهد بود. با ادامه حرکت روی دایره مثلثاتی و بازگشتن به محل شروع به زاویه 360 درجه می رسیم که دقیقا معادل زاویه 0 درجه و در جهت سمت راست خواهد بود. بنابراین در صورتی که برای یک آبجکت کد زیر را بنویسیم:

direction = 0;

دقیقا معادل است با:

direction = 360;

به همین صورت و با ادامه چرخش روی دایره مثلثاتی، به زوایای بیشتر از 360 درجه می رسیم که راستای آنها دقیقا برابر با زوایای کوچکتر اما معادل خود هستند. مثلا زاویه 370 درجه، هم راستای زاویه 10 درجه است.

نکته مهمی که در اینجا باید به آن توجه کنیم این است که با چرخش از زوایه 0 درجه در جهت عقربه های ساعت به مقادیر منفی دست پیدا می کنیم. برای درک بهتر به تصویر زیر توجه کنید.

متغیرهمانطور که در تصویر می بینید، زاویه 90- درجه دقیقه همراستای زاویه 270+ درجه (یعنی به سمت پایین) است.

در درس بعد یک مثال عملی برای کار با این تعداد محدود از متغیرهایی که تا کنون فراگرفته ایم ارائه خواهد شد. علاوه بر این با تعدادی دیگر از لیست رخدادهای گیم میکر نیز آشنا خواهیم شد. بنابراین این مجموعه دروس را دنبال کنید.

3 دیدگاه ها

  1. محمد گفت:

    پس قسمت 13 چی؟

پاسخ دهید

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