Menu
CoddyTech

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

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

تكون 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 خطأً هناك إلى أن يتم ضبط معالجة الإدخال النشطة (إعدادات المشروع، اللاعب) على كلاهما.

challenge icon

التحدي

سهل

دع اللاعب يوجّه المكعب باستخدام مفاتيح الأسهم.

  1. في Update()، عندما تكون Input.GetKey(KeyCode.RightArrow) صحيحة، أضف new Vector3(speed * Time.deltaTime, 0, 0) إلى transform.position.
  2. عند الضغط على KeyCode.LeftArrow، اطرح قيمة Vector3 نفسها باستخدام -=.

اضغط على «العب»، وانقر على اللعبة مع الاستمرار في الضغط على الأسهم: ينزلق المكعب إلى اليمين واليسار. ثم اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;

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

    void Update()
    {
        // السهم الأيمن: التحرك يمينًا. السهم الأيسر: التحرك يسارًا.
    }
}

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

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