دوره آموزشی ساخت بازی پرنده خسته – قسمت سوم (پرواز پرنده)

در این قسمت، ایجاد حالت پرواز پرنده در جهت عمودی را آموزش می دهیم.

0 13

دوره آموزشی ساخت بازی پرنده خسته – قسمت سوم (پرواز پرنده)
در قسمت دوم دوره آموزشی بازی سازی، آموزش ایجاد محیط بازی را قرار داده ایم.


در قسمت سوم دوره آموزشی بازی سازی با یونیتی، ساخت بازی پرنده خسته به مباحث زیر می پردازیم:

  1. ایجاد اسکریپت Bird
  2. آموزش استفاده از کاموننت Rigidbody2D و کاربرد آن
  3. استفاده از توابع Input و Velocity و AddForce و…

 

۱٫ در قدم اول صحنه بازی را از طریق File -> Save Scenes ذخیره می کنیم.

فولدری با نام Scenes ایجاد می کنیم و صحنه بازی را درون آن می کشیم.

۲٫ Bird (پرنده یا بازیکن) را انتخاب می کنیم و در پنجره Inspector روی Add Component می زنیم و گزینه New Script را انتخاب می کنیم.

۳٫ نام اسکریپت را Bird قرار می دهیم و روی Create and Add می زنیم.

با این کار اسکریپت ایجاد می شود و همزمان به شی Bird نیز اضافه می شود.

دوره آموزشی ساخت بازی پرنده خسته – قسمت سوم (پرواز پرنده)

 

۴٫ فولدری با نام Scripts ایجاد می کنیم و اسکریپت Bird را درون آن می کشیم.

سپس اسکریپت Bird را باز می کنیم و تغییرات لازم را انجام می دهیم.

۵٫ خارج از توابع موجود و درون خود کلاس Bird متغییر upForce برای سرعت پرواز پرنده، از نوع float و public ایجاد می کنیم

که مقدار اولیه ۲۰۰ را به آن اختصاص داده ایم.

برای اینکه بتوانیم از درون خود برنامه یونیتی مقدار متغییر را تغییر دهیم آن را public قرار می دهیم.

متغییر bool از نوع private با نام isDead برای بررسی زنده بودن پرنده را ایجاد می کنیم و مقدار اولیه آن را false قرار می دهیم.

هنگامی که پرنده به زمین و یا موانع برخورد می کند ما مقدار isDead را true می کنیم یعنی اینکه پرنده با موانع بازی برخورد کرده است و مرده است.
نکته: متغییر از نوع private فقط درون همان اسکریپت قابل دسترس می باشد.

متغییر private از نوع Rigidbody2D با نام rb2d ایجاد می کنیم.

Rigidbody2D برای ایجاد حالت فیزیکی دوبعدی به شی داده می شود.


درون تابع Start از طریق اسکریپت، کامپوننت Rigidbody2D اضافه شده به Bird را دریافت می کنیم تا بتوان به آن دسترسی داشته باشیم.


درون تابع Update با دو شرط بررسی کرده ایم که اگر پرنده زنده بود (isDead == false) و با کد (Input.GetMouseButtonDown(0 می گوییم

هر وقت کلیک سمت چپ ماوس زده شد قطعه کد مورد نظر اجرا شود.

کد rb2d.Velocity = Vector2.zero مقدار سرعت شی را صفر می کند.

بلافاصله کد ((rb2d.AddForce(new Vector2(0,upForce مقداری نیرو در جهت x صفر و در جهت y مقدار متغییر را می دهیم.

AddForce برای اضافه کردن نیرو اضافی به شی استفاده می شود.


اسکریپت یونیتی تابعی با نام OnCollisionEnter2D دارد.

این تابع هر وقت کالیدر شی Bird با کالیدرهای دیگر موجود در صحنه برخورد کرد فراخوانی می شود.

در واقع ما میخواهیم پرنده هر وقت با زمین و موانع بازی برخورد کرد مقدار متغییر isDead به true تغییر کند تا دیگر بازیکن نتواند ادامه دهد.

دوره آموزشی ساخت بازی پرنده خسته – قسمت سوم (پرواز پرنده)

 

در آخر بازی شما باید همانند کلیپ زیر باشد که با کلیک کردن پرنده در جهت y بالا رود و وقتی با زمین برخورد کرد دیگر پرنده نتواند حرکت کند.


قسمت سوم دوره آموزشی بازی سازی در اینجا به پایان می رسد.

در قسمت چهارم انیمیشن بال زدن و مردن پرنده را آموزش میدهیم.

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


هرگونه نظر، پیشنهاد، انتقاد و البته سوال در مورد این دوره و یا بازی سازی دارید را با ما در میان بگذارید.

حتما به نظرات و سوالات شما پاسخ خواهیم داد.

شما همچنین ممکن است مانند بیشتر از نویسنده

ترک یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.