Menu
CoddyTech
flag He iconעבריתdown icon

קפיצה למעלה

חלק מהיחידה קלט ותנועה במסלול ה-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- בכל פריים, והגיבור היה עף מחוץ למסך.

challenge icon

אתגר

קל

כשלוחצים על 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()
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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