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