SerializeField
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 15 من 85.
يؤدي الحقل public مهمتين في آنٍ واحد: يظهر في نافذة المفتش، ويمكن لكل نص برمجي آخر قراءته وتغييره. غالبًا ما تحتاج إلى الأولى فقط. يمكن للحقل private (وهو الإعداد الافتراضي في C#) أن يتغير من خلال فئته نفسها فقط، لذا لا يمكن لأي نص برمجي آخر إفساده، لكن Unity لا تعرضه في نافذة المفتش.
يطلب [SerializeField] من Unity حفظ حقل خاص وعرضه على أي حال. يُضبط مدى هذا البرج لكل برج على حدة في نافذة المفتش، ولا يمكن لأي نص برمجي آخر الوصول إليه:
[SerializeField] private float range = 5f;
void Start()
{
Debug.Log("Range: " + range);
}هكذا تحتفظ معظم شيفرات Unity بإعداداتها: خاصة، مع [SerializeField]. انتبه إلى الحالة العكسية: إذا جعلت حقلًا خاصًا ونسيت السمة، فستسقط Unity بصمت القيمة المحفوظة في المشهد. سيعود الحقل إلى الرقم الموجود في الشيفرة، من دون أي خطأ ينبهك.
التحدي
سهلأخفِ ارتفاع المصباح عن النصوص البرمجية الأخرى، مع إبقائه في نافذة Inspector.
- غيّر الحقل إلى
[SerializeField] private float height = 1f;. - اترك
Start()كما هو: تضبط نافذة Inspector قيمةheightعلى 4.
اضغط على «العب»: سيظل المصباح معلقًا على ارتفاع 4. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class LampHeight : MonoBehaviour
{
public float height = 1f;
void Start()
{
transform.position = new Vector3(0, height, 0);
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity