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

הגבל למסך

חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 21 מתוך 28.

רצים שמאלה והגיבור יוצא מהמסך. clamp(value, low, high) שומרת על מספר בין שני קצוות. היא מחזירה את low אם value נמוך ממנו, את high אם value גבוה ממנו, ואת value אחרת. clamp(700, 14, 626) היא 626.

הגבילו את המיקום אחרי התנועה, ושמרו את התוצאה:

move_and_slide()
position.x = clamp(position.x, 14, 626)

position הוא מרכז הגיבור, ורוחב הגיבור הוא 28 פיקסלים. לכן מרכזו נשאר במרחק של 14 פיקסלים מכל אחד מקצות המסך שרוחבו 640 פיקסלים, והגיבור כולו נשאר בתצוגה.

challenge icon

אתגר

קל

השאר את הגיבור כולו על המסך. אחרי move_and_slide(), הגבל את position.x בין 14 ל־626.

נסו בעצמכם

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)
	if direction > 0:
		$Look.scale.x = 1
	if direction < 0:
		$Look.scale.x = -1
	move_and_slide()
quiz iconבחנו את עצמכם

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

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

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