Contenido del curso
Empezando Nuestro Proyecto
Teoría de Gameplay
Mecánica Principal
- 8

Crea la cuadrícula del juego en Unity
07:59 min - 9

Cámara ortográfica automática en Unity
13:06 min - 10

Sistema de coordenadas para piezas en Unity
05:16 min - 11

Piezas aleatorias en la cuadrícula Unity
13:39 min - 12

Mover piezas en Unity con DOTween
Viendo ahora - 13

Intercambio de piezas con arrays 2D en Unity
14:45 min - 14

Permitiendo solo ciertos tipos de movimientos
05:38 min - 15

Lógica de Match 3 en cuatro direcciones
16:11 min - 16

Detectar Match 3 con corrutinas en Unity
10:21 min - 17

Evitar matches por defecto en Match 3
12:29 min - 18

Colapso de columnas en un Match 3
17:31 min - 19

Combos automáticos en Match 3 con corrutinas
07:46 min - 20

Corrutinas para animar piezas en Match 3
07:35 min - 21

Mejorando la animación de las piezas
07:37 min
Publicacion
Diseño del juego
- 24

Hablemos de diseño
01:34 min - 25

Agregando un sistema de puntos
16:45 min - 26

Sistema de tiempo
07:05 min - 27

Interfaz para el sistema de tiempo
09:26 min - 28

Creando sistema de UI
06:26 min - 29

Sistema de UI reactivo al estado del juego
14:36 min - 30

Agregando funcionalidad a la pantalla de game over
09:16 min - 31

Cómo reiniciar board y puntos en Unity
08:39 min - 32

Agregando audio
10:05 min - 33

Terminando el juego
07:38 min
Conclusiones
Mover piezas en Unity con DOTween
Resumen
Mover piezas en Unity con DOTween te permite añadir animaciones suaves y controladas a tus objetos sin escribir lógica compleja de interpolación. Si estás construyendo un juego de tablero o cualquier proyecto que requiera desplazar elementos entre coordenadas, esta integración resuelve el movimiento con pocas líneas de código y un easing profesional.
¿Qué es DOTween y cómo se instala en Unity?
DOTween es una librería de animación gratuita disponible en la Unity Asset Store que facilita mover, rotar y escalar objetos con curvas de animación predefinidas. Para instalarla, busca en Google dotween Unity y abre el resultado oficial de Hotween v2 en la tienda de Unity.
¿Qué hace DOTween en Unity? Permite animar propiedades de un objeto, como su posición, hacia un valor destino en un tiempo determinado, con suavidad y eventos de finalización.
Con tu sesión de Unity iniciada, agrega el asset a tus assets y luego pulsa Open in Unity. Esto abre el Package Manager dentro de tu proyecto. Importa el paquete y, cuando termine, ve al menú Tools > Demigiant > DOTween Utility Panel y haz clic en Setup DOTween para completar la configuración.
¿Por qué hay que hacer el setup después de importar?
El setup ejecuta procesos internos que enlazan DOTween con los módulos de Unity que estás usando. Sin ese paso, varias funciones de la librería no responden correctamente.
¿Cómo programar el movimiento de una pieza con DOTween?
En tu carpeta de scripts, abre el script de pieza en Visual Studio y al inicio del archivo importa la librería con using DG.Tweening;. Esto te da acceso a las funciones de animación que vas a encadenar.
Después de tu función setup, agrega una nueva función pública llamada move que reciba dos parámetros enteros: el destino en X y el destino en Y. Dentro de ella vas a usar transform.DOMove, que es la función estrella de la librería para desplazar objetos.
csharp using DG.Tweening;
public void Move(int desX, int desY) { transform.DOMove(new Vector3(desX, desY, -5), 0.25f) .SetEase(Ease.InOutCubic) .OnComplete(() => { x = desX; y = desY; }); }
El primer parámetro de DOMove es un Vector3 con las coordenadas destino, dejando el eje Z en -5 para mantener la pieza al frente. El segundo parámetro es la duración: en este caso 0.25 segundos, lo que da un movimiento rápido pero perceptible.
¿Para qué sirve SetEase y qué es InOutCubic?
SetEase aplica una curva de aceleración al movimiento para que no sea lineal. Con Ease.InOutCubic la pieza arranca lento, acelera en el medio y desacelera al llegar, lo que se ve mucho más natural que un desplazamiento mecánico.
¿Qué hace OnComplete al terminar el movimiento?
OnComplete recibe una función lambda que se ejecuta cuando la animación termina. Aquí actualizas las propiedades internas x e y de la pieza con los valores desX y desY, para que la lógica del juego sepa la nueva posición real en el tablero.
¿Cómo probar funciones de Unity con ContextMenu?
Probar el movimiento sin construir toda la mecánica del juego es posible gracias al decorador [ContextMenu], que añade un atajo personalizado al menú contextual del componente en el inspector.
Crea una función de prueba sin parámetros que llame a Move con coordenadas fijas, por ejemplo Move(0, 0). Encima de la función agrega el decorador con el nombre que quieras ver en el menú.
csharp [ContextMenu("Test Move")] public void MoveTest() { Move(0, 0); }
¿Cuándo usar ContextMenu en Unity? Cuando necesitas probar rápidamente una función desde el editor sin crear UI ni botones. La función debe ser pública y no recibir parámetros.
Guarda el archivo, vuelve a Unity, dale play y selecciona una pieza del tablero. En el componente de la pieza, haz clic en los tres puntos del encabezado y verás Test Move dentro del menú contextual. Al pulsarlo, la pieza se desplaza al destino que definiste.
Si pruebas con una pieza lejana, notarás que 0.25 segundos puede sentirse muy veloz; si la pieza está cerca, el tiempo se siente justo. Ese parámetro lo ajustas según la sensación que quieras dar al jugador.
¿Qué sigue después de mover piezas en Unity?
Ya tienes piezas que se mueven con animación suave y actualizan su posición lógica al terminar. El siguiente reto es decidir cuándo se mueven y a dónde, conectando la entrada del jugador o la lógica del juego con esta función Move.
¿Cómo crees que se puede controlar el momento y el destino del movimiento? Cuéntame en los comentarios cómo lo resolverías tú.