سورس انتخاب نیروها در بازی های استراتژیک

سورس انتخاب نیروها در بازی های استراتژیک

سورس انتخاب نیروها در بازی های استراتژیک

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

نکات

  • برای ساخت سیستم انتخاب نیروها در بازی های استراتژیک حداقل به دو آبجکت نیاز داریم. یکی obj_unit که خود سربازان یا نیروهای موجود در بازی است؛ و دیگری obj_selector که نقش اصلی درمدیریت سیستم انتخاب نیروها را دارا است و باید حتما یک نمونه از آن، همیشه در صحنه بازی حضور داشته باشد.

 

  • برای ایجاد و مدیریت کادر انتخاب نیروها از تابع collision_rectangle استفاده می کنیم. این تابع به 7 پارامتر نیاز دارد و وظیفه آن این است که بررسی کند که آیا نمونه هایی از یک آبجکت خاص دربک محدوده مستطیل شکل قرار دارند یا خیر:

collision_rectangle( x1, y1, x2, y2, obj, prec, notme );

در این تابع منظور از x1 و y1 مختصات گوشه بالای سمت چپ محدوده مستطیل شکل مورد نظر است. همچنین x2 و y2 نیز نشان دهنده مختصات گوشه پایین و سمت راست این کادر هستند. با استفاده از مختصات این دو نقطه یک محدوده مستطیل شکل حاصل می شود.

به جای obj باید نام آبجکت انتخاب شونده (یعنی obj_unit) را وراد کنید.

پارامتر بعد یعنی prec به دقت در محاسبه قرار گرفتن آبجکت در محدوده مورد نظر اشاره دارد و چون در این مورد، نیاز به دقت بالایی نداریم می توانیم آن را برابر با false قرار دهیم.

آخرین پارامتر یعنی notme نیز به این موضوع اشاره دارد که آیا خود آبجکت فراخواننده (یعنی آبجکتی که در حال اجرای این تابع است) مشمول این برخورد نیست یا هست. از آنجا که ما از این تابع در obj_selector استفاده می کنیم، و اصلا قرار نیست این آبجکت مورد انتخاب قرار بگیرد بنابراین آن را نیز برابر با false قرار می دهیم.

 

  • برای نمایش کادر انتخاب مستظیل شکل در محیط بازی از تابع draw_rectangle استفاده می شود که یه صورت زیر است:

draw_rectangle(x1, y1, x2, y2, outline);

چهار پارامتر اول دقیقا مانند موارد بالا به مختصات گوشه های کادر مستطیلی شکل مورد نظر اشاره دارند. بدیهی است که باید از این تابع در رخداد Draw استفاده کنید.

پارامتر outline به سبک مستطیل ترسیم شده اشاره دارد؛ در صورتی که بخواهیم به صورت توپر نمایش داده شود آن را برابر با false و برای نمایش به صورت تو خالی، از true استفاده می کنیم.

 

دانلود

سورس انتخاب نیروها در بازی های استراتژیک

 

.

 

پاسخ دهید

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