0 votes

he observado que se usa mucho la funcion yield,pero no comprendo bien como funcióna.
Alguien podria explicarme en español para que se usa y que significan sus parametros.
Gracias a todos.Saludos.

google translate:
I have observed that the yield function is used a lot, but I do not understand well how it works.
Someone could explain me in Spanish so that it is used and what its parameters mean.
Thanks to all. Greetings.

in Gossip by (79 points)

Sorry, I may do it in English, but I'm not sure, that Google translator will make it in correct way in Spanish...

1 Answer

+3 votes
Best answer

La función de rendimiento se utiliza para hacer estas cosas llamadas coroutines. Una guía en gdscript permite esencialmente "pausar" la ejecución de una función, y luego terminar de ejecutarla más tarde. Por ejemplo, esto

func mi_func():
    print("Hola")
    yield()
    print("mundo!")

func _ready():
    y = mi_func() # function gets paused and saved here.
    print("mi bueno")
    y.resume() # continue the function execution.

imprime esto.

Hola
mi bueno
mundo!

La función de rendimiento también se puede utilizar con señales. Cuando se emite la señal, la función se reanuda a dicho rendimiento.

yield(objeto_con_señal, "la señal")

# Reanudar la ejecución del siguiente cuadro.
yield(get_tree(), "idle_frame")

# Reanudar la ejecución cuando la animación haya terminado de reproducirse.
yield(get_node("AnimationPlayer"), "finished")

# Espere 5 segundos, luego reanude la ejecución.
yield(get_tree().create_timer(5.0), "timeout")
by (3,844 points)
selected by
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.

Categories