Menu
CoddyTech

تجوّل في الزنزانة

جزء من قسم المشاريع في رحلة 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 بنفسها، لذا لا تضربها بها.

challenge icon

التحدي

سهل

وجّه البطل عبر الزنزانة.

  1. في hero.gd، أضف const SPEED = 160.
  2. في كل إطار فيزيائي، عيّن velocity إلى ناتج Input.get_vector لإجراءات الحركة الأربعة مضروبًا في SPEED، ثم استدعِ move_and_slide().

اضغط على «العب» وتحرك: ستوقف الجدران البطل. ثم اضغط على «تحقق».

جرّب بنفسك

extends CharacterBody2D

func _physics_process(delta):
	pass

جميع دروس المشاريع

تدرّب بنفسك: Playground لـ Godot