CharacterBody2D
جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 7 من 28.
يمرّ Node2D عبر الجدران. أما CharacterBody2D فيصطدم بالأشياء. في علامة التبويب المشهد، أصبح Hero الآن من النوع CharacterBody2D. والعنصر الابن CollisionShape2D الخاص به دائرة تمثل الحجم الصلب للبطل. وللجدران والعمود أشكال تصادم أيضًا.
للجسم velocity، وهي قيمة Vector2 بوحدة البكسل في الثانية. تعيينها لا يحرّك شيئًا. تحرّك move_and_slide() الجسم بمقدار سرعته لإطار واحد، وتوقفه عند أي شيء صلب:
func _physics_process(delta):
velocity = Vector2(150, 0)
move_and_slide()حرّك الأجسام في _physics_process، التي تعمل بالتزامن مع الفيزياء. تطبّق move_and_slide() زمن الإطار، لذا لا تضرب velocity في delta أبدًا.
التحدي
سهلتُضبط velocity للشخصية على 150 بكسل في الثانية نحو اليمين. استدعِ move_and_slide() لكي تتحرك وتتوقف عند العمود.
جرّب بنفسك
extends CharacterBody2D
func _physics_process(delta):
velocity = Vector2(150, 0)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإدخال والحركة
تدرّب بنفسك: Playground لـ Godot