Menu
CoddyTech

الجدران توقفك

جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 9 من 28.

العوائق والعمود هي عقد StaticBody2D. الجسم الثابت لا يتحرك أبدًا. لكل منها CollisionShape2D لشكلها المصمت وColorRect لرسمها.

‏move_and_slide() وحدها تتحقق من وجود العوائق. تغيير position يحرّك الجسم من دون التحقق، لذا يمر عبر العوائق:

position.x += direction * speed * delta   # يعبر الجدران
velocity.x = direction * speed            # توقفه الجدران
move_and_slide()

النص بعد # هو تعليق. يتجاهله Godot.

الجسم الذي يصطدم بعائق بزاوية يحافظ على الجزء من حركته الموازي للعائق. ينزلق بدلًا من أن يلتصق به، وهذا ما يمنح move_and_slide() اسمها.

challenge icon

التحدي

سهل

اجعل الجدران توقف البطل.

  1. استبدل سطر position.x بسطر يضبط velocity.x على direction * speed، من دون delta.
  2. استدعِ move_and_slide() تحته.

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

جرّب بنفسك

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
	var direction = Input.get_axis("move_left", "move_right")
	position.x += direction * speed * delta

جميع دروس الإدخال والحركة

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