تغلّب على الوقت
جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 31 من 63.
التحدي
متوسطأضف الساعة. احتفظ بكل شيء من الخطوات السابقة، وأضف إلى Ball:
public float timeLimit = 60f;(اضبطها على 30 في Inspector) وpublic float timeLeft;. وبما أنtimeLeftعامة، فستظهر في Inspector، حيث يمكنك مشاهدة تناقصها.- عند بدء اللعبة، تكون قيمة
timeLeftهيtimeLimit. وفي كل إطار ما دامت أكبر من 0، تنقص بمقدار زمن الإطار. - عندما تصل إلى 0، تبقى عند 0 بالضبط، وتسجّل الكرة
Time's up! Score: 5مرة واحدة، مع نتيجتها. - بعد انتهاء الوقت، لن تعود الأسهم تدفع الكرة.
اضغط على Play وانظر إلى نتيجتك خلال 30 ثانية، ثم اضغط على Check.
جرّب بنفسك
using UnityEngine;
public class Ball : MonoBehaviour
{
public float force = 10f;
public int score;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
rb.AddForce(new Vector3(x, 0f, z) * force);
}
public void AddScore(int points)
{
score += points;
Debug.Log("Score: " + score);
}
}
جميع دروس الفيزياء وأسلوب اللعب
1الجسم الصلب (Rigidbody)
الجاذبية والكتلةالدفع باستخدام AddForceالقفز باستخدام دفعةFixedUpdate للفيزياءالسرعة المتجهةالأجسام الحركيةمراجعة: منصة الإطلاق