Menu
CoddyTech

مراجعة: التبديل بين أنظمة الإدخال

جزء من قسم إنشاء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 48 من 60.

قرأ هذا الفصل لوحة المفاتيح والفأرة وإجراءات المشروع باستخدام نظام الإدخال. لا يزال عصا الفقاعات يستخدم الفئة القديمة Input: انقلها استدعاءً بعد استدعاء.

challenge icon

التحدي

متوسط

انقل عصا الفقاعات إلى نظام الإدخال؛ فالصنف القديم Input يسبب خطأ هنا.

  1. أضف using UnityEngine.InputSystem; وحقلي InputAction، moveAction وjumpAction، واضبطهما في Start() باستخدام InputSystem.actions.FindAction.
  2. تحرك باستخدام moveAction.ReadValue<Vector2>()، بحيث يكون محورها y على المحور z.
  3. استبدل اختبارات القفز بـ WasPressedThisFrame() وIsPressed() وWasReleasedThisFrame()، واستبدل النقر بـ Mouse.current.leftButton.wasPressedThisFrame.

اضغط على «العب»، وانفخ فقاعة ثم فرقعها. بعد ذلك اضغط على «تحقق».

جرّب بنفسك

using UnityEngine;

public class Wand : MonoBehaviour
{
    public float speed = 4f;
    public float growRate = 1f;
    public float maxSize = 1.5f;
    public GameObject bubblePrefab;

    private Transform bubble;

    void Update()
    {
        Vector3 move = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
        transform.position += move.normalized * speed * Time.deltaTime;

        if (Input.GetButtonDown("Jump"))
        {
            bubble = Instantiate(bubblePrefab, transform.position + Vector3.up * 1.5f, Quaternion.identity).transform;
        }
        if (Input.GetButton("Jump") && bubble != null)
        {
            float size = Mathf.Min(bubble.localScale.x + growRate * Time.deltaTime, maxSize);
            bubble.localScale = Vector3.one * size;
        }
        if (Input.GetButtonUp("Jump") && bubble != null)
        {
            Debug.Log("Bubble: " + bubble.localScale.x.ToString("F1"));
            bubble = null;
        }

        if (Input.GetMouseButtonDown(0))
        {
            GameObject[] bubbles = GameObject.FindGameObjectsWithTag("Bubble");
            foreach (GameObject b in bubbles) Destroy(b);
            Debug.Log("Popped " + bubbles.Length);
        }
    }
}
quiz iconاختبر نفسك

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

جميع دروس إنشاء ألعاب حقيقية

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