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

כל השיעורים ביחידה פרויקטים

תרגלו בעצמכם: Godot אונליין