El Manejo de los Procesos: Quién y los Procesos
Cuando sólo hay una tortuga en la página y se activan los procesos nunca hay confusión, porque sólo una tortuga puede realizar las instrucciones. Pero cuando hay más de una tortuga en la página o en el proyecto, se puede iniciar un proceso utilizando inadvertidamente la tortuga equivocada.
En cada página de un proyecto existe un "quién global", que es la tortuga activa, la que recibe los mandos desde el Centro de Mando. El "quién global" es una las siguientes:
- La última tortuga creada.
- La última tortuga a la que se ha hablado desde el Centro de Mando por medio de dile.
- La última tortuga en la que se ha hecho clic, ya sea en forma directa o mediante el mando enciende.
- La última tortuga a la que se ha hablado mediante el mando escucha.
Cuando se lanza un proceso mediante un botón o una tortuga, la tortuga activa no cambia. El proceso hereda la tortuga activa del Centro de Mando. El proceso puede tener su propia tortuga, pero esto no afectará al "quién global" del Centro de Mando.
Para comprobarlo, haga el siguiente experimento:
En una nueva página tiene que crear dos tortugas nuevas, t1 y t2. En el Centro de Mando escriba:
muestra quién
t2
Reporta la t2 porque es la última que se ha creado.
Ahora pruebe crear un botón con la instrucción t1, establecida en Una vez.
Haga clic en el botón y ejecute de nuevo desde el Centro de Mando la instrucción muestra quién. La respuesta seguirá siendo t2. El botón no cambia el quién activo. Esto es importante, porque permite ejecutar varios procesos paralelos, sin perder el rastro del "quién global" activo.
El siguiente es un resumen acerca de quién es quién en los procesos:
Reglas
- Solo hay un quién global; es decir, la tortuga activa que recibe los mandos del Centro de Mando.
- Cada proceso tiene su quién propio.
- Un proceso no puede cambiar el quién de otro proceso. Solo puede cambiar el suyo propio.
- Los procesos pueden tener un quién propio para cada página.
Vamos a utilizar el procedimiento vuela definido en Los botones y las familias de procesos. Definiremos un nuevo procedimiento baila1 para poder tener dos tortugas realizando animaciones distintas. Copie los procedimientos en el área de Procedimientos.
para vuela
porsiempre [ffig "pájaro1 ffig "pájaro2]
porsiempre [ad 1]
finpara baila1
porsiempre [ffig "abeja1 ffig "abeja2]
porsiempre [ad 5 de 5]
fin
Para hacer la prueba, hay que crear dos botones con las siguientes instrucciones:
![]()
¿Qué va a pasar si hace clic en un botón sin haberse dirigido a ninguna tortuga en forma explícita? Se produce una confusión total, con una tortuga tratando de realizar todos los procesos a la vez.
Cambie los botones para dirigirse a las diferentes tortugas. En realidad, el nombrar explícitamente a las tortugas ayuda a seguir la pista de cuál tortuga está ejecutando qué procedimiento o qué proceso. Pongamos nombres a las tortugas: una será Abeja y la otra Pájaro.
![]()
¿Cuál será la tortuga activa si se prueba desde el Centro de Mando? Antes de hacer clic en los botones, escriba de nuevo en el Centro de Mando muestra quién. Presione algún botón y pruebe de nuevo muestra quién. Verá que el quién global no ha cambiado.
Por lo general, nadie quiere cambiar el quién global mientras los procesos están en ejecución. Sin embargo, existen algunas situaciones en las que se necesita cambiar el quién global dentro de un proceso. Para hacer esto, hay que utilizar el mando escucha.
Escucha establece la tortuga quién global; es decir, la tortuga que obedece instrucciones del Centro de Mando. Este mando permite cambiar la tortuga quién global dentro de un proceso ya lanzado; por ejemplo, desde un botón.
En el ejemplo anterior, se puede cambiar el quién global añadiendo un botón que tenga como instrucción abeja, escucha. Esta tortuga se convertirá en la tortuga activa una vez que los procesos se hayan lanzado.
Para probar esto, antes de hacer clic de nuevo en los botones, escriba pájaro, en el Centro de Mando. Pájaro es ahora la tortuga activa. Haga clic en cada uno de los botones. Para detener el proceso, haga de nuevo clic en ellos. Escriba en el Centro de Mando muestra quién. Escucha ha hecho que Abeja sea la nueva tortuga activa.