تجوّل في الزنزانة
جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 29 من 36.
المشروع الأخير هو لعبة استكشاف الزنزانات بمنظور علوي. يأخذ البطل مفتاحًا، ويفتح بابًا، ويتجاوز حارسًا، ويصل إلى الدرج.
السكربتات هي hero.gd وenemy.gd وmain.gd. الجدران هي StaticBody2D يُسمى Walls، وهو موجود بالفعل في المشهد.
يتحرك البطل في أربعة اتجاهات. تقرأ Input.get_vector المفاتيح الأربعة وتعطي اتجاهًا بطول 1، لذا لا تكون الحركة القطرية أسرع. تحرك move_and_slide() الجسم بحسب velocity وتجعله ينزلق بمحاذاة الجدران:
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()تستخدم move_and_slide قيمة delta بنفسها، لذا لا تضربها بها.
التحدي
سهلوجّه البطل عبر الزنزانة.
- في
hero.gd، أضفconst SPEED = 160. - في كل إطار فيزيائي، عيّن
velocityإلى ناتجInput.get_vectorلإجراءات الحركة الأربعة مضروبًا فيSPEED، ثم استدعِmove_and_slide().
اضغط على «العب» وتحرك: ستوقف الجدران البطل. ثم اضغط على «تحقق».
جرّب بنفسك
extends CharacterBody2D
func _physics_process(delta):
pass
جميع دروس المشاريع
تدرّب بنفسك: Playground لـ Godot