Menu
CoddyTech
flag Ar iconالعربيةdown icon

وجّه باستخدام المفاتيح

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

تكون Input.GetKey(KeyCode.Space) بقيمة true في كل إطار ما دام مفتاح المسافة مضغوطًا، وبقيمة false خلاف ذلك. تحقّق من ذلك في Update()، وحرّك العنصر فقط عندما تكون النتيجة نعم، وسيوجّه اللاعب العنصر.

يرتفع هذا الصندوق بمقدار lift وحدة في الثانية ما دام مفتاح المسافة مضغوطًا. تحافظ Time.deltaTime على السرعة محسوبةً لكل ثانية، كما في الدرس السابق:

public float lift = 2f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        transform.position += new Vector3(0, lift * Time.deltaTime, 0);
    }
}

لكل مفتاح قيمة KeyCode: KeyCode.UpArrow، وKeyCode.W، وKeyCode.Return، وهكذا. انقر أولًا على نافذة اللعبة كي تصل إليها ضغطات المفاتيح. ملاحظة لمستخدمي Unity 6: تستخدم المشاريع الجديدة نظام الإدخال الجديد، ويؤدي Input.GetKey إلى ظهور خطأ فيه إلى أن يُضبط Active Input Handling (إعدادات المشروع، Player) على Both.

challenge icon

التحدي

سهل

اجعل اللاعب يوجّه المكعب: عند الضغط باستمرار على السهم الأيمن، يتحرك إلى اليمين (على طول +x) بسرعة speed وحدة في الثانية، وعند الضغط باستمرار على السهم الأيسر، يتحرك إلى اليسار بالسرعة نفسها. إذا لم يكن هناك أي مفتاح مضغوط، يبقى في مكانه.

اضغط على Play، وانقر على اللعبة وجرّب الأسهم، ثم اضغط على Check.

جرّب بنفسك

using UnityEngine;

public class Steering : MonoBehaviour
{
    public float speed = 4f;

    void Update()
    {
        // السهم الأيمن: تحرّك يمينًا. السهم الأيسر: تحرّك يسارًا.
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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