الجدران توقفك
جزء من قسم الإدخال والحركة في رحلة 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() اسمها.
التحدي
سهلاجعل الجدران توقف البطل.
- استبدل سطر
position.xبسطر يضبطvelocity.xعلىdirection * speed، من دونdelta. - استدعِ
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