آموزش ساخت بازی با یونیتی قسمت دوم

ساخت وبلاگ
درود خدمت دوستان عزیز، علیرضا پیر هستم و با قسمت دوم از سری آموزش های موتور بازی سازی یونیتی در خدمت شما هستم.

در این جلسه ساخت یک بازی دو بعدی در سبک Runner رو شروع می کنیم،

اگر با سبک های مختلف بازی ها آشنایی ندارید،

سبک رانر به سبکی از بازی های کامپیوتری گفته میشه، که یک کاراکتر در اون در حال حرکت (یا دویدن) هست و کاربر باید با هدایت اون بازی رو پیش ببره؛ از موانع عبور کنه و امتیاز کسب کنه (یا ستاره ها رو بگیره) از این دست بازی ها میشه به بازی کلاه قرمزی برای پلتفرم اندروید اشاره کرد

طبق مطالب گفته شده در جلسه ی قبل، یونیتی رو اجرا کنید و یک پروژه ی جدید ایجاد کنید، بنده برای این پروژه نامRunnerGame رو انتخاب کردم

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/21.jpg[/img]

بازی ای که خواهیم ساخت تقریبا همچین فرمی خواهد داشت:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/22.jpg[/img]

ضمن عرض این نکته  که به اینکه نقاشیم خیلی خوب هست، واقفم؛ در توضیح تصویر:

اون موجود آبیه قرار هست که کاراکتری باشه که ما کنترلش می کنیم، اون اجسام قرمز، چیزهایی هستن که نباید بهشون برخورد کنیم و با پرش و لیز خوردن باید بگذریم ازشون، و اون ستاره ها هم همون امتیاز ها هستن که باید سعی کنیم بگیریمشون.

پلیرمون پس در جهت x ها حرکت می کنه،

قراردادمون این باشه که قراره با کلید c بشینه و با کلید x بپره، هر مرحله رو هم قرار بر این میزاریم که 60 ثانیه باشه.

خوب؛ اول باید هسته اصلی بازیمون رو پیاده سازی کنیم، همه چیز در بازی روی زمین اتفاق میوفته، پس بیاید اول زمین رو بسازیم، حالا چطور بسازیم؟

برای اینکار ما باید یک GameObject ایجاد کنیم، که پلیر روی اون حرکت کنه، بنابر این برای اینکار، از منوی GameObject و از بخش 3D گزینه ی Cube رو انتخاب می کنیم تا یک مکعب به محیط بازیمون اضافه بشه:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/23.jpg[/img]

مکعب ما ایجاد شد، اما اگه قرار باشه کاراکتر ما روی این مکعب حرکت کنه، هنوز حرکت نکرده به سمت منفی بینهایت سقوط می کنه:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/24.jpg[/img]

برای اینکه این معضل برطرف بشه، باید مکعبمون رو بزرگ کنیم در جهت x.

برای اینکار باید آبجکتمون رو Scale کنیم، برای اینکار دو راه وجود داره، یا اینکه روی مکعب کلیک کنیم و از پنجره ی Inspector و در بخش Scale مقدار X رو اونقدر که به نظر مناسب بیاد افزایش بدیم:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/25.jpg[/img]

یا اینکه از بخش بالای ادیتور، گزینه ی Scale رو برای آبجکتتون فعال کنید و با درگ کردن بردار قرمزه به وجود اومده، سایزش رو در جهت x اضافه کنید:

من گزینه ی اول رو انتخاب می کنم و به مقدار X در Scale عدد 40 رو میدم:[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/27.jpg[/img]

 

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

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

حالا وقتشه که کاراکتر خودمون رو به بازی اضافه کنیم، برای کاراکتر هم اینبار شیء کپسول رو انتخاب می کنیم. بنابراین بار دیگه در منوی GameObject و 3D، گزینه ی Capsule رو انتخاب می کنیم تا یک کپسول وارد ادیتورمون بشه:

این کپسول رو هم از این به بعد صداش می کنیم کاراکتر، الان احتمالا کاراکتر توی زمینه، پس ابزار Transform رو از بالا انتخاب می کنیم و کاراکتر رو در محور y ها میاریم بالا تا روی زمین قرار بگیره:[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/28.jpg[/img]

حالا باید به کاراکترمون، Character Controller رو نسبت بدیم، برای اینکار روی کاراکتر کلیک کنید، از بخش Inspector روی گزینه ی AddComponent کلیک کنید و در بخش Physics ، گزینه ی Charactrer Controller رو انتخاب کنید تا اینComponent به پلیر اضافه بشه:

 

حالا وقتشه که برنامه نویسی رو شروع کنیم، باید کد های کاراکترمون رو بنویسیم، برای اینکه کد نویسی رو شروع کنیم، در پنجره یProject کلیک راست کنید، و یه پوشه به اسم Scripts ایجاد کنید با انتخاب گزینه ی Create و Folder...

توی این فولدر ما کد هامون رو مینویسیم از این به بعد:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/210.jpg[/img]

حالا روی فولدری که ایجاد کردیم کلیک راست کنید، Create و سپس C# Script رو انتخاب کنید تا یک کد سی شارپ ایجاد بشه براتون، من نام movement رو برای این کد انتخاب کردم:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/211.jpg[/img]

روی فایل سی شارپی که ایجاد کردید دابل کلیک کنید و در محیط monodevelop این کد رو  جایگزین قبلی کنید:

کد:

using UnityEngine;
using System.Collections;    
public class ExampleClass : MonoBehaviour {
   public float speed = 6.0F;
   public float jumpSpeed = 8.0F;
   public float gravity = 20.0F;
   private Vector3 moveDirection = Vector3.zero;
   void Update(){
       CharacterController controller = GetComponent();
       if (controller.isGrounded){
           moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
           moveDirection = transform.TransformDirection(moveDirection);
           moveDirection *= speed;
           if (Input.GetButton("Jump"))
               moveDirection.y = jumpSpeed;    
      }
       moveDirection.y -= gravity * Time.deltaTime;
       controller.Move(moveDirection * Time.deltaTime);
  }
}

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/212.jpg[/img]

حالا فایل رو با زدن کلید Ctrl+s ذخیره می کنیم و به محیط یونیتی برگردید و فایل کدی که نوشتید رو با یک درگ اند دراپ، بکشید و روی کاراکتر بندازید:

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/213.jpg[/img]

حالا بازی رو اجرا کنید و نتیجه رو ببینید (با زدن کلید Ctrl+P یا با زدن اون مثلث بالای صفحه) :

[img=400x0]http://ilikephp.ir/ckfinder/userfiles/images/Unity/214.jpg[/img]

میبینید که کاراکترمون حالا با کلید های A و D حرکت می کنه، و با کلید Space میپره، اما یک مشکلی وجود داره! با زدن کلید W وS کاراکتر بالا و پایین میره و از زمین میوفته پایین!

ما فقط میخوایم پلیرمون در راستای x ها حرکت کنه.

این مشکل رو در جلسه آینده برطرف خواهیم کرد و بازیمون رو تکمیل میکنیم.

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

برچسب : نویسنده : استخدام کار gamefa بازدید : 291 تاريخ : چهارشنبه 3 مرداد 1397 ساعت: 12:00

خبرنامه