לצעוד במבוך
חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 26 מתוך 33.
הפרויקט האחרון הוא משחק זחילת מבוכים, במבט מלמעלה. הגיבור לוקח מפתח, פותח דלת, עובר על פני שומר ומגיע למדרגות.
הסקריפטים הם 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
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
תרגלו בעצמכם: Godot אונליין