Menu
CoddyTech

Compresión y estiramiento

Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 18 de 23.

Los dibujos animados aplastan a un personaje cuando recibe un golpe y luego dejan que recupere su forma. Esto hace que el golpe parezca más contundente.

Un aplastamiento es una interpolación con dos pasos sobre scale. El primero hace que el robot sea más ancho y achatado. El segundo lo devuelve a Vector2(1, 1) con Tween.TRANS_ELASTIC, que hace que supere el tamaño normal y se tambalee antes de estabilizarse.

var wobble = create_tween()
wobble.tween_property(self, "scale", Vector2(1.4, 0.6), 0.08)
wobble.tween_property(self, "scale", Vector2(1, 1), 0.5).set_trans(Tween.TRANS_ELASTIC).set_ease(Tween.EASE_OUT)

Esta es una segunda interpolación, junto a la interpolación del destello. Dos interpolaciones pueden ejecutarse simultáneamente cuando modifican propiedades distintas.

challenge icon

Desafío

Fácil

Aplasta al robot cuando reciba un golpe.

  1. Después del destello en hit(), crea un segundo tween llamado wobble.
  2. Anima scale hasta Vector2(1.4, 0.6) en 0.08 segundos.
  3. Después, anímalo de vuelta a Vector2(1, 1) en 0.5 segundos con Tween.TRANS_ELASTIC y Tween.EASE_OUT.

Pulsa «Jugar» y pulsa E: el robot se aplasta y vuelve a su forma. Después, pulsa «Comprobar».

Pruébalo tú mismo

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)

Todas las lecciones de Sensación de juego

Practica por tu cuenta: Playground de Godot