Menu
CoddyTech

Auf den Bildschirm begrenzen

Teil des Abschnitts Eingabe und Bewegung der Godot-Journey von Coddy. Lektion 21 von 28.

Lauf nach links, und der Held verlässt den Bildschirm. clamp(value, low, high) hält eine Zahl zwischen zwei Grenzen. Es gibt low zurück, wenn value darunter liegt, high, wenn value darüber liegt, und andernfalls value. clamp(700, 14, 626) ergibt 626.

Begrenze die Position nach der Bewegung und speichere das Ergebnis:

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

position ist die Mitte des Helden, und der Held ist 28 Pixel breit. Daher bleibt seine Mitte 14 Pixel von jedem Rand des 640 Pixel breiten Bildschirms entfernt, und der ganze Held bleibt sichtbar.

challenge icon

Aufgabe

Einfach

Halte den gesamten Helden auf dem Bildschirm. Begrenze nach move_and_slide() position.x auf einen Wert zwischen 14 und 626.

Probier es selbst

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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Eingabe und Bewegung

Übe selbstständig: Godot-Playground