לצעוד במבוך
חלק מהיחידה פרויקטים במסלול ה-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 בעצמו, לכן אין להכפיל בו.
אתגר
קלהובילו את הגיבור דרך הצינוק.
- ב־
hero.gd, הוסיפוconst SPEED = 160. - בכל פריים פיזיקה, הגדירו את
velocityלהיותInput.get_vectorשל ארבע פעולות התנועה כפולSPEED, ואז קראו ל־move_and_slide().
לחצו על "שחק" והלכו: הקירות יעצרו את הגיבור. ואז לחצו על "בדיקה".
נסו בעצמכם
extends CharacterBody2D
func _physics_process(delta):
pass
כל השיעורים ביחידה פרויקטים
תרגלו בעצמכם: Godot אונליין