Menu
CoddyTech

Limitar al área de la pantalla

Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 21 de 28.

Corre hacia la izquierda y el héroe sale de la pantalla. clamp(value, low, high) mantiene un número entre dos límites. Devuelve low si value es menor que ese valor, high si value es mayor que ese valor y, de lo contrario, value. clamp(700, 14, 626) da 626.

Limita la posición después de moverte y guarda el resultado:

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

position es el centro del héroe, y el héroe mide 28 píxeles de ancho. Así, su centro permanece a 14 píxeles de cada borde de la pantalla de 640 píxeles, y el héroe entero permanece a la vista.

challenge icon

Desafío

Fácil

Mantén al héroe completo en pantalla. Después de move_and_slide(), limita position.x entre 14 y 626.

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Entrada y movimiento

Practica por tu cuenta: Playground de Godot