حلقات داخل حلقات
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 38 من 85.
يحتاج الصف إلى حلقة واحدة. أما الطابق بأكمله، بما فيه الصفوف والأعمدة، فيحتاج إلى حلقة داخل حلقة:
for (int column = 0; column < 3; column++)
{
for (int row = 0; row < 2; row++)
{
Debug.Log(column + ", " + row);
}
}في كل دورة من الحلقة الخارجية، تعمل الحلقة الداخلية حتى نهايتها. لذا يكتب هذا 0, 0 و0, 1، ثم 1, 0 و1, 1، ثم 2, 0 و2, 1: 3 أعمدة مضروبة في صفين، أي 6 أسطر إجمالًا.
تحتاج الحلقتان إلى عدّادين باسمين مختلفين. هنا سُمّيا بحسب ما يعدّانه، column وrow، مما يجعل قراءة الشيفرة أسهل من i وj.
التحدي
متوسطأنشئ أرضية من 12 بلاطة: 4 أعمدة و3 صفوف.
- في
Start()، استبدلPlaceTile(0, 0);بـfor (int column = 0; column < 4; column++). - داخل الأقواس المعقوفة، اكتب
for (int row = 0; row < 3; row++)، واستدعِPlaceTile(column, row);داخل هذه الحلقة الداخلية.
اضغط «العب»: ستظهر أرضية من البلاطات، 4 أعمدة في 3 صفوف. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
public class TileFloor : MonoBehaviour
{
void Start()
{
// رتّب البلاطات في 4 أعمدة و3 صفوف.
PlaceTile(0, 0);
}
void PlaceTile(int column, int row)
{
GameObject tile = GameObject.CreatePrimitive(PrimitiveType.Cube);
tile.name = "Tile";
tile.transform.position = new Vector3(column * 1.1f - 1.65f, 0.1f, row * 1.1f);
tile.transform.localScale = new Vector3(1, 0.2f, 1);
tile.GetComponent<Renderer>().material.color = new Color(0.85f, 0.85f, 0.9f);
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity