< Return to Video

The Invoke Functions - Unity Official Tutorials

  • 0:01 - 0:03
    Las funciones Invoke le permiten a usted programar
  • 0:03 - 0:06
    un llamado de función después de cierto tiempo de retraso especifico.
  • 0:07 - 0:09
    Esto nos permite a nosotros construir un sistema
  • 0:09 - 0:11
    útil de llamado de métodos que es sensible al tiempo.
  • 0:12 - 0:15
    Aquí nosotros tenemos una escena en Unity con un game object vacío.
  • 0:16 - 0:19
    El game object tiene un InvokeScript adjunto a éste.
  • 0:20 - 0:22
    En el InvokeScript nosotros tenemos
  • 0:22 - 0:24
    un game object público llamado Target.
  • 0:25 - 0:28
    También tenemos un método llamado SpawnObject.
  • 0:28 - 0:31
    El método SpawnObject simplemente instancia el
  • 0:31 - 0:34
    objeto target en la posición (0, 2, 0).
  • 0:36 - 0:40
    En el método start nosotros llamamos la función Invoke.
  • 0:40 - 0:42
    La función invoke toma 2 parámetros.
  • 0:42 - 0:46
    Un string conteniendo el nombre del método que nosotros queremos llamar
  • 0:46 - 0:49
    y una cantidad de tiempo para retrasar en segundos.
  • 0:51 - 0:54
    Nosotros podemos ver de esta linea de código que después de 2 segundos
  • 0:54 - 0:56
    el método SpawnObject será llamado.
  • 0:58 - 1:00
    Vale la pena tener en cuenta que solamente los métodos que
  • 1:00 - 1:02
    no toman parámetros y tienen un tipo de retorno
  • 1:02 - 1:05
    void pueden ser llamados utilizando invoke.
  • 1:06 - 1:09
    De vuelta en Unity corramos nuestra escena.
  • 1:10 - 1:12
    Nosotros podemos ver que después de 2 segundos un orb
  • 1:12 - 1:15
    es instanciado y cae al suelo.
  • 1:16 - 1:19
    Esto es útil para llamar métodos de un solo tiempo.
  • 1:19 - 1:21
    Pero qué si nosotros quisiéramos llamar un método repetidamente?
  • 1:22 - 1:24
    Esto se puede hacer fácilmente utilizando
  • 1:24 - 1:26
    la función InvokeRepeating.
  • 1:28 - 1:30
    Aquí en nuestra escena nosotros tenemos el mismo
  • 1:30 - 1:32
    game object vacío.
  • 1:32 - 1:34
    Este tiempo sin embargo hay un
  • 1:34 - 1:36
    InvokeRepeatingScript adjunto a este.
  • 1:38 - 1:40
    En el InvokeRepeatingScript
  • 1:40 - 1:42
    nosotros podemos ver cosas que están expuesto exactamente
  • 1:42 - 1:44
    de la misma manera en InvokeScript.
  • 1:46 - 1:49
    Nosotros todavía tenemos un game object público llamado Target
  • 1:49 - 1:51
    y nosotros todavía tenemos un método SpawnObject.
  • 1:52 - 1:54
    El método SpawnObject en este script
  • 1:54 - 1:56
    todavía instancia el objeto target
  • 1:56 - 1:59
    pero ahora lo hace en una posición X y Z aleatoria.
  • 2:01 - 2:03
    En el método start nosotros tenemos una llamada a
  • 2:03 - 2:05
    la función InvokeRepeating.
  • 2:05 - 2:07
    Esta función toma 3 argumentos.
  • 2:07 - 2:09
    Un string que contiene el nombre del método
  • 2:09 - 2:11
    que queremos llamar.
  • 2:11 - 2:13
    El retraso en segundos antes de que llame el método
  • 2:13 - 2:15
    y un retraso en segundos entre cada
  • 2:15 - 2:17
    llamada posterior del método.
  • 2:19 - 2:21
    Nosotros podemos ver de esta linea de código que
  • 2:21 - 2:23
    SpawnObject será llamado después de 2 segundos
  • 2:23 - 2:26
    y luego será llamado nuevamente cada 1 segundo.
  • 2:28 - 2:29
    Veamos esto en acción.
  • 2:30 - 2:32
    En Unity nosotros podemos correr nuestra escena.
  • 2:33 - 2:37
    Nosotros podemos ver que después de 2 segundos un orb es instanciado.
  • 2:37 - 2:39
    Luego cada 1 segundo
  • 2:39 - 2:41
    otro orb es creado.
  • 2:42 - 2:44
    Esto continuará infinitamente y va a llenar
  • 2:44 - 2:46
    nuestra escena entera con orbs.
  • 2:48 - 2:50
    Obviamente es importante conocer
  • 2:50 - 2:52
    cómo parar un método que nosotros hemos llamado
  • 2:52 - 2:54
    con la función InvokeRepeating.
  • 2:55 - 2:57
    Con el fin de parar, todas las instancias
  • 2:57 - 2:59
    de un llamado invoked de este script
  • 2:59 - 3:02
    nosotros podemos utilizar el método CancelInvoke.
  • 3:03 - 3:06
    Si nosotros deseamos solamente parar un Invoke especifico
  • 3:06 - 3:08
    que nosotros podemos parse en un string conteniendo el nombre del
  • 3:08 - 3:10
    método que deseamos parar.
Title:
The Invoke Functions - Unity Official Tutorials
Description:

more » « less
Duration:
03:13

Spanish subtitles

Revisions