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

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

متغیر

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

رخداد های کیبورد

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

یک نمونه کوچک : متغیر های speed و direction

تصمیم داریم با استفاده از رخدادهای کیبورد و متغیر های حرکتی که تا کنون یاد گرفته ایم یک نمونه مکانیک بسیار کوچک و مقدماتی از یک بازی بسازیم. پس دست به کار شوید: یک پروژه جدید ایجاد کنید و مانند تصویر زیر یک اسپرایت با شکل و نام دلخواه ایجاد کنید:

متغیر

پس از ایجاد اسپرایت نوبت به ساخت آبجکت می رسد:

متغیر

حالا برای پیاده سازی حرکات کاراکتر باید روی دکمه Add Event کلیک کنید و از لیست رخدادهایی که ظاهر می شود گزینه Keyboard را انتخاب کنید. سپس در منوی ظاهر شونده بعدی مشاهده می کنید که تمامی کلیدهای کیبورد در قالب یک لیست در اختیار شما قرار داده شده که چهار مورد اول از بالا مربوط به کلیدهای جهت دار کیبورد می باشد:

متغیر

برای نمونه کوچکی که قصد ساخت آن را داریم به هر چهار جهت احتیاج خواهیم داشت. زیرا کاراکتر ما قرار است به هر چهار جهت حرکت نماید. بیایید با جهت چپ شروع می کنیم: گزینه Left  را انتخاب کنید و سپس از سمت راست پنجره و از سربرگ Control اکشن Execute Code را در مقابل آن قرار دهید تا کد مورد نظر خود را در محیط کدنویسی آن وارد کنیم. سپس در آن قسمت کد زیر را تایپ کنید:

;speed = 5

;direction = 180

متغیر

همانطور که در درس قبل  درباره استفاده از متغیر های حرکتی توضیح داده شد این قطعه کد به معنای آن است که آبجکت مورد نظر ما با سرعت 5 پیکسل (در هر استپ از بازی) و در راستای 180 درجه (یعنی به سمت چپ) شروع به حرکت می کند. به همین ترتیب، برای رخداد مربوط به کلید راست (Right) نیز کد زیر را می نویسیم:

;speed = 5

;direction = 0

برای کلید جهت بالا(Up):

;speed = 5

;direction = 90

و برای کلید پایین (Down):

;speed = 5

;direction = 270

 

با اضافه شدن رخدادها و اکشن های گفته شده،پنجره آبجکت به صورت زیر در می آید:

متغیر

حالا می توانیم پروژه کوچک و ساده خود را تست کنیم. کلید F5 و یا فلش سبز رنگ بالای پنجره نرم افزار را بفشارید. مشاهده می کنید که با فشردن هر کدام از کلیدهای جهت دار کیبورد، کاراکتر به سمت مورد نظر به راه می افتد؛ اما یک اشکال وجود دارد: کاراکتر متوقف نمی شود و با انتخاب هر کدام از جهت ها تا بی نهایت به راه خود ادامه می دهد. راه حل این مشکل، اضافه کردن یک رخداد جدید و در مقابل آن یک قطعه کد ساده است:

مجددا روی دکمه Add Event کلیک کنید و از لیست رخدادهای کیبورد، گزینه No Key را انتخاب کنید. این رخداد در زمانهایی فراخوانده می شود که بازیکن هیچ کلیدی را نمی فشارد.

متغیر

با استفاده از این اکشن می توانیم کاری کنیم که زمانی که بازیکن کاری انجام نمی دهد حرکت کاراکتر متوقف شود. یعنی سرعت حرکت را برابر با صفر قرار می دهیم.

;speed = 0

 

نتیجه کار را تست کنید و از شاهکار بازیسازی خود لذت ببرید!

درس امروز ما در اینجا تمام می شود. به یاد داشته باشید که ما هنوز در ابتدای راهیم و برای دستیابی به  مهارت کدنویسی در گیم میکر باید قدری صبور باشیم.

2 دیدگاه ها

  1. Farzan گفت:

    میشه لطفا آیدی تلگرام یا یه راه ارتباطی بدید
    ممنون

پاسخ دادن به Farzan لغو پاسخ

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