Ver la Versión Completa : [ SOLUCIONADO ] ¿Como terminar Escena estando en Bucle?
Mx WaR HaBiB
23/02/16, 06:10:31
buen día, a todos
hace unos días estuve molestado y gracias a dos grandes de este subforo pude resolver mi dilema.
ahora mismo me resulta tedioso volver a molestar pero no encuentro la tecla :risitas: si alguien me puede apoyar se lo agradezco, vamos al rollo:
tengo una tarea que se activa con AutoRemote la cual se inicia en mi móvil y llega a otro al cual activa una tarea, a continuación la misma:
Si, Auto Remote recibe "Encontrar"
Tarea: Encontrar (3)
A1: Mostrar Escena [ Nombre:Botón Mostrar como:Actividad a ventana completa Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Encendido Continuar tarea inmediatamente:Encendido ]
Escena: Boton
A1: Si (if) [ %armessage ~ Encontrar ]
A2: Establecer variable [ Nombre:%COUNT A:0 Calcular:Apagado Añadir:Apagado ]
A3: Decir [ Texto:¡Aquí estoy!, hey aquí estoy Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:10 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A4: Sumar a variable [ Nombre:%COUNT Valor:1 Módulo (wrap around):0 ]
A5: Ir a acción [ Tipo:Número Acción Número:3 Etiqueta: ] Si (if) [ %COUNT < 20 ]
A6: Fin si (End if)
A7: Destruir Escena [ Nombre:Botón ]
según mi lógica al presionar el botón, debería de destruir la escena y terminar de repetir la función "A3: Decir", pero sigue en bucle hasta terminar las "20" que fueron asignadas.
se que ha de ser una tontería pero no doy mas :loco:
¿alguien de buena voluntad? :cry:
gracias y buen día para todos! :cucu:
WillyWeb
23/02/16, 09:11:03
según mi lógica al presionar el botón, debería de destruir la escena y terminar de repetir la función "A3: Decir", pero sigue en bucle hasta terminar las "20" que fueron asignadas.
Perdona, pero no veo con claridad el funcionamiento que describes. No veo el botón que comentas ni cómo se inicia esa tarea de la escena.
Con lo que has puesto parece que la tarea "Encontrar" lanza la escena "Botón", y si la escena sólo tiene lo que has puesto su comportamiento es consecuente con lo que comentas; repetir 20 veces un mensaje y destruir la escena.
Si quieres que al pulsar un botón las repeticiones terminen inmediatamente tendrás que poner en el código de ese botón otro "Destruir escena".
En base a como interpreto la escena que has creado, que tengo algunas dudas, te comento lo que yo pienso que puede fallar.
Creo que destruir una escena, no implica que cese la tarea que se haya ejecutado desde la misma. No obstante, tampoco veo ningún condicional además de el IF %COUNT < 20, así que como el inicio de la tarea es establecer %COUNT a 0, va a volver a la acción núm. 3 si o si 20 veces.
Creo que tendrás que poner algún botón para cesar la tarea que además de cerrar la escena, establezca la variable %COUNT a 20.
Caravantes
23/02/16, 13:47:38
Escena: Boton
A1: Si (if) [ %armessage ~ Encontrar ]
A2: Establecer variable [ Nombre:%COUNT A:0 Calcular:Apagado Añadir:Apagado ]
A3: Decir [ Texto:¡Aquí estoy!, hey aquí estoy Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:10 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A4: Sumar a variable [ Nombre:%COUNT Valor:1 Módulo (wrap around):0 ]
A5: Ir a acción [ Tipo:Número Acción Número:3 Etiqueta: ] Si (if) [ %COUNT < 20 ]
A6: Fin si (End if)
A7: Destruir Escena [ Nombre:Botón ]
según mi lógica al presionar el botón, debería de destruir la escena y terminar de repetir la función "A3: Decir", pero sigue en bucle hasta terminar las "20" que fueron asignadas.
Hola Mx. Yo lo interpreto así: una vez lanzada, la tarea comienza ejecutando la acción A1 (por cierto, yo no le veo sentido a esa condición, sospecho que la condición se cumple siempre, no entiendo para qué la has puesto). Luego ejecuta la acción A2 que inicia el contador, y a partir de ahí entra en bucle (A3, A4 y A5) 20 veces (mientras el contador tenga valores inferiores a 20). Finalmente sale del bucle y acaba en A7 destruyendo la escena.
Por lo que dices, esperas que pulsar el botón interrumpa el bucle (A3, A4 y A5), pero realmente no has puesto ninguna acción o condición que interrumpa ese bucle. La única forma de salir del bucle es cuando el contador llega a 20, y eso es totalmente independiente de que tú puedas estar pulsando el botón de la escena o puedas estar haciendo otra cosa. Es por eso que cuando pulsas el botón la tarea sigue ejecutando el bucle hasta que el contador llega a 20.
Mx WaR HaBiB
23/02/16, 16:31:49
Si quieres que al pulsar un botón las repeticiones terminen inmediatamente tendrás que poner en el código de ese botón otro "Destruir escena".
La tarea se inicia con autoremote... al mandar un mensaje al dispositivo que tiene esta tarea
Creo que tendrás que poner algún botón para cesar la tarea que además de cerrar la escena, establezca la variable %COUNT a 20.
viendo las cosas como las describes pues ahora me queda extremadamente claro que al destruir la escena seguiria la tarea :cry: tenia la idea que tambien la tarea terminaria Pd. Fallo mio
Por lo que dices, esperas que pulsar el botón interrumpa el bucle (A3, A4 y A5)
tienes razon si llama la escena en primera instancia no creo que sea necesario A1 lo borrare, aunque creo que podria mover todo al momento de poner la escena quedando asi:
Tarea: Encontrar (3)
A1: Mostrar Escena [ Nombre:Botón Mostrar como:Actividad a ventana completa Posición Horizontal:100 Posición Vertical:100 Animación:Sistema Mostrar Botón Salida:Encendido Continuar tarea inmediatamente:Encendido ]
A2: Establecer variable [ Nombre:%COUNT A:0 Calcular:Apagado Añadir:Apagado ]
A3: Decir [ Texto:¡Aquí estoy!, hey aquí estoy Motor: Voz:com.svox.pico:spa-ESP Stream:3 Tono:10 Velocidad:5 Respetar Foco Audio:Encendido Red:Apagado Continuar tarea inmediatamente:Apagado ]
A4: Sumar a variable [ Nombre:%COUNT Valor:1 Módulo (wrap around):0 ]
A5: Ir a acción [ Tipo:Número Acción Número:3 Etiqueta: ] Si (if) [ %COUNT < 20 ]
y en la escena quedaria por el momento asi:
Escena: Boton
A7: Destruir Escena [ Nombre:Botón ]
Nota. ya que en la escena quiero agregar lo que mencionan la forma de terminar la tarea Encontrar.
__________________________________________________ ______________________
buen día
gracias a los tres... son varias opiniones llegando a un mismo punto... entonces lo que me falta es botón para decir a %COUNT=20 pero como podría hacer esto?
solo con otro botón que diga:
Establecer variable [ Nombre:%COUNT A:20 Calcular:Apagado Añadir:Apagado ]
con esto cesaría las repeticiones del bucle?
gracias a todos por sus comentarios. :gracias:
WillyWeb
23/02/16, 16:44:35
... entonces lo que me falta es botón para decir a %COUNT=20 pero como podría hacer esto?
solo con otro botón que diga:
Establecer variable [ Nombre:%COUNT A:20 Calcular:Apagado Añadir:Apagado ]
Correcto. Haces eso y luego el "Destruir Escena" que ya tienes puesto. :ok:
Mx WaR HaBiB
23/02/16, 17:34:15
Correcto. Haces eso y luego el "Destruir Escena" que ya tienes puesto. :ok:
Buen día
enterado... al llegar a casa reviso si con esto se resuelve, en teoría como mencionas debe de hacerlo.
gracias por tu tiempo.
al final comento y cambio el titulo. :gracias:
Mx WaR HaBiB
24/02/16, 03:09:05
Correcto. Haces eso y luego el "Destruir Escena"
hola a todos esto funciona pero antes de eso, tuve que ocupar la acción:
Limpiar Variable %COUNT
Establecer Variable %COUNT = 20
Destruir Escena
al final así quedo por que si establecía variable aveces no funcionaba por que solo le sumaba 1.
gracias todos cambio a Solucionado!
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.