الإنشاء العشوائي
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 68 من 85.
تختار Random.Range(min, max) عددًا عشوائيًا، وما يمكن أن تعيده يعتمد على نوع الأعداد التي تعطيها لها. مع الأعداد العشرية، يمكن أن تظهر أي قيمة من min إلى max، مع تضمين الطرفين. أما مع الأعداد الصحيحة، فلا تُضمَّن max نفسها. لذلك، عند رمي حجر نرد، نطلب عددًا من 1 إلى 7:
int roll = Random.Range(1, 7); // 1، 2، 3، 4، 5 أو 6
Debug.Log("You rolled " + roll);لا تتضمن النسخة التي تستخدم الأعداد الصحيحة max، ولذلك تكون Random.Range(0, names.Length) دائمًا فهرسًا صالحًا للمصفوفة. وهذا يعني أيضًا أن Random.Range(-5, 5) تعطي الأعداد الصحيحة فقط من -5 إلى 4، حتى عند تخزين النتيجة في عدد عشري. اكتب Random.Range(-5f, 5f) للحصول على أي قيمة بينهما.
للمواضع والاتجاهات في فضاء ثلاثي الأبعاد، توفر Unity متجهين عشوائيين جاهزين. Random.insideUnitSphere هي نقطة عشوائية داخل كرة نصف قطرها 1 ومركزها (0, 0, 0). أما Random.onUnitSphere فهي نقطة عشوائية على سطح تلك الكرة، ما يجعلها اتجاهًا عشوائيًا طوله 1. تمثل transform.position + Random.insideUnitSphere * 2f موضعًا يبعد حتى وحدتين في أي اتجاه، بما في ذلك الأعلى والأسفل.
التحدي
متوسطتُسقط كل نقرة صندوقًا من موضع عشوائي فوق الأرضية.
- داخل
ifالخاصة بالنقرة، اخترfloat x = Random.Range(-4f, 4f);وعرّفfloat zبالطريقة نفسها. - استدعِ
Instantiate(cratePrefab, new Vector3(x, 5, z), Quaternion.identity);.
اضغط على «العب» وانقر بضع مرات: ستسقط الصناديق في أماكن جديدة. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class CrateDropper : MonoBehaviour
{
public GameObject cratePrefab;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// أسقط صندوقًا من موضع عشوائي: x وz من -4 إلى 4، y = 5
}
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة11القوالب والإنشاء
القوالب وInstantiateالإنشاء بمؤقّتالإنشاء ضمن شبكةقوائم الكائناتالتراجع عن الأحدثالتدميرالإنشاء العشوائيمراجعة: الألعاب النارية6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity