الإنشاء ضمن شبكة
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 64 من 85.
تزور حلقة داخل حلقة كل خلية في شبكة: تختار الحلقة الخارجية عمودًا، وتسير الحلقة الداخلية على امتداده. ضع Instantiate داخلها، وسيحصل كل موضع على كائن. ينشئ هذا أرضية من 3 في 3 باستخدام بلاطات عرضها وحدتان، لذا تفصل بين البلاطات مسافة وحدتين:
public GameObject tilePrefab;
void Start()
{
for (int x = 0; x < 3; x++)
{
for (int z = 0; z < 3; z++)
{
Vector3 spot = new Vector3(x * 2, 0, z * 2);
Instantiate(tilePrefab, spot, Quaternion.identity, transform);
}
}
}تقع البلاطات عند x = 0, 2, 4 وz = 0, 2, 4: تسع بلاطات، من (0, 0, 0) إلى (4, 0, 4). تعمل الحلقتان داخل Start() مرة واحدة. أما في Update() فستضيفان تسع بلاطات أخرى في كل إطار.
الوسيط الرابع هو كائن أب. ستسبب تسعة كائنات Tile(Clone) منفصلة فوضى في التسلسل الهرمي؛ أما تمرير transform فيضعها ضمن الكائن الذي يوجد عليه هذا البرنامج النصي، وهو Floor، بحيث يمكن طيّها أو نقلها معًا أو حذفها معًا. يظل الموضع الذي تمرره موضعًا عالميًا.
التحدي
متوسطأنشئ جدارًا من النماذج الأولية للطوب، بعرض 4 وارتفاع 5.
- في
Start()، كرّر الحلقة باستخدامcمن 0 إلى 3، وداخلها باستخدامrمن 0 إلى 4. - في الحلقة الداخلية، استدعِ
Instantiate(brickPrefab, new Vector3(-1.5f + c, 0.25f + r * 0.5f, 0), Quaternion.identity, transform). تجعل الوسيطة الأخيرة كل قطعة طوب عنصرًا فرعيًا من الجدار.
اضغط على «العب»: يقف جدار مكوّن من 20 قطعة طوب على الأرض. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class WallBuilder : MonoBehaviour
{
public GameObject brickPrefab;
void Start()
{
// 4 أعمدة و5 صفوف من الطوب، كل طوبة منها عنصر تابع لهذا Wall
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة11القوالب والإنشاء
القوالب وInstantiateالإنشاء بمؤقّتالإنشاء ضمن شبكةقوائم الكائناتالتراجع عن الأحدثالتدميرالإنشاء العشوائيمراجعة: الألعاب النارية6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity