פנה לכיוון התנועה
חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 20 מתוך 28.
הגיבור מצויר כשהוא פונה ימינה, והוא עדיין פונה ימינה כשהוא רץ שמאלה.
כל מה שרואים מהגיבור נמצא בילד שלו Look. ערך scale.x של -1 משקף צומת ואת ילדיו מצד לצד. לכן, הפכו את Look:
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1אל תהפכו את CharacterBody2D עצמו, כדי שצורת ההתנגשות שלו תישאר כפי שהיא. כשאף מקש אינו לחוץ, direction הוא 0, ואף אחד מתנאי if לא מתקיים. הגיבור ממשיך לפנות לכיוון שאליו הלך בפעם האחרונה.
אתגר
קלגרום לגיבור לפנות לכיוון שבו הוא רץ.
- לפני
move_and_slide(), הגדר את$Look.scale.xל־1כאשרdirection > 0. - הגדר אותו ל־
-1כאשרdirection < 0.
לחץ על "שחק" ורוץ שמאלה: הגיבור פונה שמאלה וממשיך להביט שמאלה כשאתה עוצר. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
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
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
move_and_slide()
כל השיעורים ביחידה קלט ותנועה
5פרויקט: גיבור במשחק פלטפורמה
גיבור: ריצהגיבור: קפיצהתרגלו בעצמכם: Godot אונליין