امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

در قسمت قبل با آناتومی فایل های اسکریپت آشنا شدید. در این قسمت با معرفی متغیر ها و کلیاتی درباره چگونگی کنترل اشیا با این متغیر ها آشنا خواهید شد

همونطور که در مقاله ی قبلی اشاره شد ، اسکریپت تنها یک طرحِ کار برای یک مولفه است و بنابراین تا یک نمونه از اسکریپت به شی بازی ضمیمه نشود هیچکدام از کدهایش فعال نخواهد شد. می توانید با کشیدن asset اسکریپت به سمت شی بازی در پنل hierarchy یا پنل inspector متعلق به شی بازی که در حال حاضر انتخاب شده ، اسکریپت را ضمیمه کنید. همچنین زیرمنوی Script درمنوی Component که محتوی تمام اسکریپت های موجود در پروژه هست ، شامل اسکریپت هایی است که خودتان مجبورید بسازید. اسکریپت بسیار شبیه هر مولفه ی دیگری در inspector است :

یکبار که ضمیمه شود ، وقتی دکمه play رو بزنید بازی اجرا و اسکریپت کار خواهد کرد. می توانید با اضافه کردن این کد به تابع start این مورد را بررسی کنید :

// Use this for initialization
void Start () {
    Debug.Log("I am alive!");
}

Debug.Log  یک فرمان ساده است که تنها یک پیام در خروجی کنسول یونیتی چاپ می کند. اگر الان play رو فشار دهید ، باید پیام را در پایین صفحه اصلی پنجره ی ویرایشگر یونیتی و درون پنجره کنسول ( در منو : Window > Console ) ببینید.

متغیرها

اسکریپت اکثرا بسیار شبیه به مولفه های دیگر هستند اما متوجه خواهید شد که مواردِ Inspector برای اسکریپت به همراه خصوصیاتِ قابلِ ویرایش شان کمی بعد از مولفه های دیگر دیده می شوند.

usingUnityEngine;
usingSystem.Collections;
public class MainPlayer : MonoBehaviour {
    public string myName;

    // بمنظور مقدار دهی اولیه استفاده می شود
    void Start () {
        Debug.Log("I am alive and my name is " + myName);
    }
    // در هر فریم از بازی یکبار فراخوانی می شود Update تابع
    void Update () {
    }
}

این کد چیزی در inspector با برچسب My Name می سازد.

یونیتی در برچسب inspector ، هر جایی که یک حرف بزرگ قرار دارد یک فاصله در نام متغیر قرار می دهد. به هر حال ، صرفا برای نمایش منظور بود و شما باید همیشه از نام متغیر در کد تون استفاده کنید. اگر نام را ویرایش کنید و دکمه play رو بزنید ، خواهید دید که پیام شامل متنی که شما وارد کردید هست.

در C# و Boo ، باید متغیر را به عنوان متغیر عمومی تعریف کنید تا آنرا در inspector ببینید. در UnityScript، متغیر ها به طور پیشفرض عمومی هستند مگر اینکه به صورت محلی تعریف شان کرده باشید :

#pragma strict

private var invisibleVar : int;

function Start () {

}

یونیتی اجازه تغییر مقادیر متغیرهای اسکریپت را در حین اجرای بازی به شما خواهد داد. اینکار برای دیدن مستقیم اثر تغییرات بدون اینکه مجبور به توقف و شروع مجدد باشید مفید است. وقتی روند بازی تمام شد ، مقدار متغیر ها به مقداری که قبل از فشردن play بود بر می گردند. اینکار تضمین می کنه که تنظیمات شی را بدون ترس از هیچ آسیب دائمی دستکاری کنید.