גיבור: ריצה חלקה
חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 25 מתוך 28.
הגיבור מתחיל לנוע ועוצר בתוך פריים אחד. גרמו לו להאיץ באמצעות acceleration ולעצור באמצעות friction:
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)השתמשו בערך acceleration של 1200 ובערך friction של 2400. הגיבור מגיע למהירות מלאה בתוך כחמישית שנייה, כך שעדיין יש לו מרחב לרוץ אל הבור.
אתגר
בינוניהוסף את המשתנים acceleration (1200) ו־friction (2400). כשמקש מוחזק, האץ את הגיבור לעבר direction * speed בקצב של acceleration. כשאף מקש אינו מוחזק, האט אותו עד 0 באמצעות friction.
נסו בעצמכם
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
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה קלט ותנועה
5פרויקט: גיבור במשחק פלטפורמה
גיבור: ריצהגיבור: קפיצהתרגלו בעצמכם: Godot אונליין