Menu
CoddyTech

كتابة دالة

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 39 من 85.

لقد كنت تستدعي الأساليب منذ فترة: Debug.Log وPlaceCrate، كما يستدعي Unity الأسلوبين Start() وUpdate() لديك. كتابة أساليبك الخاصة تعمل بالطريقة نفسها:

void Shout(string word)
{
    Debug.Log(word + "!");
}

تشير void إلى أن الأسلوب ينفّذ مهمة ولا يعيد أي قيمة. Shout هو اسمه. توجد داخل الأقواس المعاملات: وهي متغيرات يملؤها المستدعي. يؤدي Shout("Hello"); إلى تشغيل الأسلوب مع احتواء word على "Hello"، ويؤدي Shout("Run"); إلى تشغيله مرة أخرى مع "Run".

حتى الأسلوب الذي لا يملك معاملات يحتاج إلى أقواس فارغة: void Jump()، ويُستدعى على النحو Jump();. يمكن للأسلوب أن يأخذ عدة معاملات، تفصل بينها فواصل: void PlaceTile(int column, int row).

challenge icon

التحدي

متوسط

أعطِ PlaceLamp مَعلمةً كي يقف كل مصباح في مكانه الخاص.

  1. غيّر السطر الأول من الدالة إلى void PlaceLamp(float x)، وموضعها إلى new Vector3(x, 1, 0).
  2. في Start()، غيّر الاستدعاءات إلى PlaceLamp(-3);، وPlaceLamp(0); وPlaceLamp(3);.

اضغط «العب»: تقف ثلاثة مصابيح في صف واحد، تفصل بينها مسافة 3. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

public class LampRow : MonoBehaviour
{
    void Start()
    {
        PlaceLamp();
        PlaceLamp();
        PlaceLamp();
    }

    void PlaceLamp()
    {
        GameObject lamp = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        lamp.name = "Lamp";
        lamp.transform.position = new Vector3(0, 1, 0);
        lamp.transform.localScale = new Vector3(0.3f, 1, 0.3f);
        lamp.GetComponent<Renderer>().material.color = new Color(0.3f, 0.3f, 0.35f);
    }
}

جميع دروس أساسيات البرمجة النصية في Unity

تدرّب بنفسك: Playground لـ Unity