الأعداد العشرية تحتاج إلى f
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 3 من 85.
الأعداد الصحيحة لا تكفي للعبة: يطفو بالون عند 3.5، ويركض لاعب بسرعة 4.2 وحدة في الثانية. للأعداد التي تحتوي على فاصلة عشرية نوع خاص بها، وهو float:
float speed = 4.2f;لاحظ f في النهاية. في C#، العدد 4.2 من دون لاحقة هو double، وهو نوع عشري آخر، كما أن مواضع Unity وأحجامها من النوع float. تخبر f لغة C# بأن العدد من النوع float. إذا حذفتها، ترفض Unity بدء اللعبة، ويظهر هذا الخطأ في وحدة التحكم:
error CS0664: Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this typeيبدو الأمر مخيفًا، لكنه يعني فقط «أضف f». لا يحتاج عدد صحيح مثل 2 إلى f: فهو يتسع في float كما هو.
مفاجأة أخرى: قسمة قيمتين من النوع int تحتفظ بالجزء الصحيح فقط، لذا فإن 7 / 2 تساوي 3. اكتب 7 / 2f لتحصل على 3.5.
التحدي
سهلأصلح نص البرمجة النصي للبالون، ثم اجعله يطفو إلى ارتفاع أكبر ويصبح أكبر حجمًا.
- اضغط على «العب»: تعرض وحدة التحكم الخطأ CS0664 في سطر
height. - غيّر ذلك السطر إلى
float height = 3.5f;. - غيّر سطر الحجم إلى
float size = 1.5f;. يحتاج كل رقم يحتوي على فاصلة عشرية إلىf.
اضغط على «العب»: يطفو البالون عند 3.5، ويصبح حجمه مرة ونصف حجمه الأصلي. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Balloon : MonoBehaviour
{
void Start()
{
float height = 2.5;
float size = 1;
transform.position = new Vector3(0, height, 0);
transform.localScale = new Vector3(size, size, size);
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity