آموزش نحوه ارجاع درگیم میکر-قسمت سوم-سطح مقدماتی

آموزش نحوه ارجاع درگیم میکر-قسمت سوم-سطح مقدماتی

نحوه ارجاع در گیم میکر

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

ارجاع بوسیله نامگذاری

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

Instance_create(random(room_width),random(room_height),obj_zombie);

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

new_zombie = Instance_create(random(room_width),random(room_height),obj_zombie);

یعنی یک نام دلخواه را به عنوان یک متغیر تعریف کرده و آن را برابر با خروجی تابع ایجاد آبجکت قرار دادیم (و به این وسیله نمونه آبجکت ایجاد شده را new_zombie نامگذاری کردیم). فایده این کار این است که آبجکت ایجاد شده بوسیله تابع instance_create حالا دارای یک هویت بوده و قابل دسترسی است که می توان به وسیله آن، ویژگی ها یا رفتار آبجکت مورد نظر را مدیریت کرد. بنابراین در ادامه کد می نویسیم:

new_zombie.image_angle = random(360);

همانطور که می بینید، نام دلخواهی که در خط کد قبلی به عنوان یک متغیر ایجاد کرده و آن را به آبجکت ایجاد شده نسبت دادیم، حالا قابل دسترسی شده و به همراه روش ارجاع نقطه ای که در دروس قبل یاد گرفتیم، به ما این امکان را داد که از طریق آبجکت obj_enemy_creator به کنترل آبجکت obj_zombie بپردازیم.

موارد استفاده

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

توابع زیر می توانند برای ارجاع به روش نامگذاری مورد استفاده قرار بگیرند:

Instance_create()

instance_copy()

instance_find()

instance_furthest()

instance_nearest()

instance_place()

instance_position()

در صورتیکه با کارکرد توابع بالا آشنا نیستید و یا علاقه مند به کار با آن هستید، می توانید به Help نرم افزار Game Maker رجوع کرده و توضیحات کامل و مثال های مفید ارائه شده در این زمینه را مطالعه کنید.

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

دیدگاهتان را بنویسید

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