یک بازی ساده در Unreal C++
در مقالههای قسمت اول، یک بازی را برنامهریزی میکنیم تا مفاهیم Unreal C++ را در عمل ببینیم. این همان بازی جمع آوری مجسمه خواهد بود که من برای آموزش های Blueprints خود ایجاد کردم، بنابراین می توانید پیاده سازی های ساخته شده در Blueprints و C++ را با هم مقایسه کنید. این بازی بر اساس قالب سوم شخص از Unreal Engine ساخته شده است. برای پیاده سازی C++ تغییراتی در بازی انجام دادم، اما نتیجه نهایی بازی مشابه نسخه Blueprint خواهد بود. این هم تصویری از بازی: قوانین بازی به شرح زیر است: بازیکن باید مواردی را که در صحنه ظاهر می شوند قبل از اتمام زمان جمع آوری کند. زمان اولیه 30 ثانیه تنظیم شده است. با تمام شدن زمان بازی تمام می شود. به ازای هر پنج آیتم جمع آوری شده، سطح بازیکن افزایش می یابد و 15 ثانیه به زمان اضافه می شود. بازیکن از سطح بازیکن 1 شروع می شود و حداکثر سطحی که یک بازیکن می تواند به آن برسد، بازیکن سطح 5 است. موارد موجود در صحنه به صورت دوره ای مکان را تغییر می دهند. هنگامی که یک مورد در مکانی ظاهر می شود، برای مدت زمانی که به سطح بازیکن فعلی بستگی دارد، در آنجا می ماند. تعداد ثانیه هایی که یک آیتم طول می کشد تا مکان را تغییر دهد، نتیجه عبارت 6 – Player Level است. به عنوان مثال، اگر سطح بازیکن 2 باشد، آیتم به مدت 4 ثانیه در یک مکان باقی می ماند (6 – 2). هنگامی که بازیکن یک آیتم را دریافت می کند، یک آیتم دیگر در یک مکان تصادفی ایجاد می شود. امتیاز یک آیتم جمع آوری شده با عبارت 10 x Player Level تعیین می شود. به عنوان مثال، در سطح بازیکن 3، هر آیتم 30 امتیاز خواهد داشت (10 در 3). زمان، امتیاز و مقادیر سطح بازیکن روی صفحه نمایش داده می شود. این بازی از چهار کلاس ++C استفاده می کند که عبارتند از: TutoProjectGameMode: این کلاس وضعیت بازی را کنترل می کند و برخی از متغیرها را ذخیره می کند، مانند متغیرهایی که برای زمان، امتیاز و سطح بازیکن استفاده می شوند. TutoProjectCollectable: یک کلاس Actor که نشان دهنده آیتمی است که می تواند توسط بازیکن جمع آوری شود. برخورد با بازیکن را بررسی می کند و منطق این را دارد که مکان آن را به صورت دوره ای تغییر دهد. TutoProjectCharacter: کلاسی که نماینده بازیکن است و بخشی از قالب سوم شخص است. TutoProjectHUD: کلاسی که مسئول ترسیم مقادیر زمان، امتیاز و سطح بازیکن روی صفحه است. علاوه بر کلاس های C++، یک Blueprint با استفاده از کلاس TutoProjectCollectable C++ به عنوان کلاس والد ایجاد می شود. بازی با استفاده از Unreal Engine نسخه 4.25 ساخته شده است. پروژه با کد منبع در این لینک موجود است: TutoProject.zip (56 مگابایت) هنگام باز کردن پروژه برای اولین بار، پیامی ظاهر می شود که از شما می پرسد آیا می خواهید ماژول ها را بازسازی کنید. روی دکمه Yes کلیک کنید.