נפילה עם כבידה
חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 12 מתוך 28.
המשחק מוצג מהצד, והגיבור מתחיל באוויר. כוח הכבידה גורם לו ליפול מהר יותר ויותר, כי הוא מוסיף למהירות הנפילה בכל פריים.
למטה פירושו ערך גדול יותר של y, לכן כוח הכבידה מוסיף ל־velocity.y:
var gravity = 1000
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()gravity הוא שיעור הגידול של מהירות הנפילה במשך שנייה אחת. בכל פריים מתווסף לה החלק gravity * delta. velocity עצמו עדיין לעולם לא מקבל delta.
כשהגיבור נוחת על הרצפה, move_and_slide() עוצר אותו ומגדיר את velocity.y ל־0.
אתגר
קלגרום לגיבור ליפול.
- בתוך
_physics_process(), מעלmove_and_slide(), הוסף אתgravity * deltaאלvelocity.y. - השתמש ב-
+=, כדי שהנפילה תהיה מהירה יותר בכל פריים.
לחץ על "שחק": הגיבור נופל מהר יותר ויותר ונוחת על הרצפה. ואז לחץ על "בדיקה".
נסו בעצמכם
extends CharacterBody2D
var gravity = 1000
func _physics_process(delta):
move_and_slide()
כל השיעורים ביחידה קלט ותנועה
5פרויקט: גיבור במשחק פלטפורמה
גיבור: ריצהגיבור: קפיצהתרגלו בעצמכם: Godot אונליין