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