¿Qué son los nodos TWEEN en godot engine?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ariel

Estoy mirando videos y me gustaria que alguien lo deje comentado en español en los answers de godot engine.

Las etiquetas deben estar en inglés. Sin excepciones.
Y a menos que su pregunta sea realmente específica, le sugiero que use etiquetas que ya existen.

SIsilicon | 2018-11-28 11:56

:bust_in_silhouette: Reply From: p7f

Hola!

Los Tween sirven para realizar animaciones. Lo que hacen es interpolar los valores de una animación entre los valores que selecciones como rango. Por ejemplo, supone que queres rotar un objeto 90°. Si cambias la rotación directamente, vas a pasar de 0° en un frame a 90° en el siguiente. Si querés que la transición sea “suave” usas tween para que interpole entre esos valores, y vas a ver una rotación animada en el tiempo:

var tween = get_node("Tween")
tween.interpolate_property($Node2D, "rotation_degrees",
           0, 90, 1, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
tween.start()

El ejemplo anterior va a animar la rotacion del Node2D desde 0° a 90° en 1 segundo. TRANS_LINEAR y EASE_IN_OUT son propiedades de las animaciones que puedes ir probando a ver cual te sirve más. En este link tenes la documentación oficial; si no manejas inglés, podés traducirlo con google.

Por lo general, hay dos formas de hacer animaciones: una es cargar las distintas imagenes que deben reproducirse en los distintos frames. Esto resulta en una animación que puede ser tosca si tenés pocas imagenes, además de que necesitas una imagen por cada parte del movimiento. Otra es usar tweens donde pones el valor inicial y el final, e interpola el resto.

Nota: Como ya mencionamos en un comentario a un post tuyo, es más práctico si todos tratamos de preguntar en un mismo idioma, para evitar preguntas duplicadas y para que las respuestas sirvan al mayor número de gente posible. No estoy seguro, pero creo que la mayor parte de los usuarios de Godot manejan inglés. Habrás notado que muchas respuestas que te brindan son traducidas con google, por lo que vemos que muchos usuarios se toman la molestia de traducir sus respuestas para que las puedas comprender bien. Estaría bueno que nosotros como hispanohablantes nos tomemos la misma molestia para que ellos nos entiendan a nosotros, en especial porque creo que más gente maneja inglés que español. Sólo una idea, espero que mi respuesta te haya ayudado. Igualmente, como ya habrás comprobado, podés seguir preguntando en español y los usuarios te responderemos igual!

@p7f Good answer. And it was while I was typing mine. It’s kinda weird and cool we both have same general idea in our answers. We even gave the questioner the same link. :slight_smile:

SIsilicon | 2018-11-28 12:00

yes, it’s weird and cool, i’ve noticed the similarities yesterday. I’m happy because i’m begginer with godot and this means i’m somehow in the right track!

p7f | 2018-11-28 12:51

Lamentablemente nose ingles,o se muy basico,con suerte entiendo el español y creo que necesito 2 años de estudio como para poder leer textos en ingles.Estoy en eso…
Yo voy a seguir haciendo preguntas en español,porque hay mucha gente que quiere las respuestas en español…Hay tantos hablantes en ingles como en español y hablar en otro idioma simplemente es aumentar la curva de aprendisaje,por eso pregunto en español.
Creo si hay preguntas en español va a contribuir a que alla más gente que use este foro

ariel | 2018-11-28 16:57

Mientras puedas encontrar la respuesta perfecto! Yo seguiré tratando de responder cuando sepa.

p7f | 2018-11-28 17:31

No se mucho español. Sin embargo aquí estoy, enviando mensajes de texto en texto en español.

SIsilicon | 2018-11-28 21:02

:bust_in_silhouette: Reply From: SIsilicon

Desarrollado por Google Translate ©

Un Tween es un nodo que se utiliza para interpolar las propiedades de los nodos y las llamadas a métodos de cualquier forma que desee. Ya sabes, en caso de que las animaciones sean demasiado simples para necesitar un AnimationPlayer.

Aquí hay un ejemplo. Digamos que tienes un nodo Sprite cuya propiedad position quieres interpolar entre las variables A y B a lo largo del tiempo T. Para hacer eso con un Tween en el código se vería así.

var tween = get_node("Tween")
tween.interpolate_property($Sprite, "position", A, B, T,
        Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
tween.start()

Los dos últimos parámetros le dicen a la interpolada cómo se animaría esta propiedad.
Ese es el caso de uso más simple y solo uno de las funciones que tween tiene para interpolar cosas. Para obtener más información, solo vaya a [docs] 1. Google Translate.