مناطق القتل
جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 18 من 63.
منطقة القتل هي مُحفّز يقع فوق مكان يجب ألا يصل إليه اللاعب: الحمم البركانية أو الأشواك أو الفراغ تحت المستوى. يؤدي دخولها إلى إعادة اللاعب إلى نقطة ظهور. هنا يتولى البرنامج النصي الخاص بالحمم ذلك، مع تعيين نقطة الظهور في حقل Transform من نافذة Inspector:
public Transform spawnPoint;
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
other.transform.position = spawnPoint.position;
other.attachedRigidbody.linearVelocity = Vector3.zero;
}
}other.attachedRigidbody هو مكوّن Rigidbody الذي يتبعه المصادم الداخل. يؤدي تعيين transform.position إلى نقل اللاعب آنيًا، وهذا ما تحتاج إليه إعادة الظهور. لكن Rigidbody يحتفظ بسرعته خلال القفزة: فاللاعب الذي سقط بسرعة 10 وحدات في الثانية يصل إلى نقطة الظهور وهو لا يزال يسقط بسرعة 10، واللاعب الذي اندفع نحو الحمم يواصل الاندفاع عائدًا إليها مباشرة. يؤدي تعيين linearVelocity إلى Vector3.zero إلى وصوله متوقفًا. ويُبقي فحص الوسم أي شيء آخر يسقط في الحمم في مكانه.
التحدي
سهليعبر اللاعب جسرًا ضيقًا فوق الفراغ، وتدفعه قوى أزرار الأسهم؛ هذا الجزء مكتوب. تملأ مساحةً أسفل الجسر منطقةُ تشغيل تحمل الوسم KillZone، ويقف في منتصف الجسر علمٌ يحمل الوسم Checkpoint، وهو أيضًا منطقة تشغيل. أضف إلى نص اللاعب البرمجي نقاط عودة:
- عند بدء اللعبة، تكون نقطة العودة حيث يقف اللاعب.
- يؤدي لمس
Checkpointإلى جعل موضع اللاعب في تلك اللحظة نقطة العودة الجديدة. - يُعيد دخول
KillZoneاللاعب إلى نقطة العودة، مع إيقاف حركته.
اضغط على Play وامشِ حتى تسقط عن الجسر، ثم اضغط على Check.
جرّب بنفسك
using UnityEngine;
public class Player : MonoBehaviour
{
public float force = 12f;
Rigidbody body;
Vector3 input;
// إعادة الظهور: المكان الذي يعود إليه اللاعب
void Start()
{
body = GetComponent<Rigidbody>();
}
void Update()
{
input = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
}
void FixedUpdate()
{
body.AddForce(input * force);
}
// Checkpoint: تذكّر مكان اللاعب. KillZone: العودة إلى ذلك المكان دون حركة.
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الفيزياء وأسلوب اللعب
1الجسم الصلب (Rigidbody)
الجاذبية والكتلةالدفع باستخدام AddForceالقفز باستخدام دفعةFixedUpdate للفيزياءالسرعة المتجهةالأجسام الحركيةمراجعة: منصة الإطلاق