[MÚSICA] [MÚSICA] Bien, veamos un ejemplo especial de las lecturas de la acelerómetro y se refiere a cómo detectar una sacudida del dispositivo. Una sacudida no es otra cosa más que un movimiento muy violento del dispositivo en ambas direcciones ¿no? Así, sacudirlo exactamente eso significa y esa actividad del dispositivo es tan importante que ya se convirtió en un tema, en un tema detectar sacudidas en un dispositivo nos puede ayudar para diferentes cosas. Por ejemplo, podemos lanzar una acción al detectar una sacudida. Recordarán por ejemplo, en su reproductor de música, en su aplicación del iPod pueden tener una opción que cuando lo sacuden cambia la canción y de eso estaremos hablando en el proyecto que vamos a hacer. Bueno, como les había comentado un movimiento simple lleva alrededor de 1.3 G, mover el dispositivo normalmente 1.3 G El máximo que pueden detectar es 2.3 G, así que sacudidas pequeñas serán 1.5, 1.6 G y sacudidas ya muy fuertes 2 G para arriba, bueno hasta 2.3 G que ya son complicadas que se den, pero bueno se pueden tener. Hay muchas aplicaciones que utilizan esto para hacer, lanzar acciones recordarán ustedes la de un programa de televisión donde aparece un látigo ¿no?, que cuando lo lanzan suena un látigo como si lo estuvieran lanzando realmente, produce cuando hace uno la sacudida produce el sonido del látigo, esto se hace por medio del acelerómetro detectando una sacudida. Ahora, ¿cómo se implementa esta detección de sacudida? Esta muy fácil, es un if solamente y lo único que tenemos que verificar son los valores de la aceleración en x, en y y en z. Se acostumbra a ponerle valores absolutos, si el valor absoluto de la aceleración en x es mayor a un cierto límite o el valor absoluto de la aceleración en y es mayor a ese mismo límite, o el valor absoluto de la aceleración en z es mayor a ese mismo límite, si en cualquiera de los 3 casos está pasando el límite es que hubo una sacudida exactamente en esa dirección y entonces en el cuerpo del if podemos hacer algunas cosas como lanzar una canción, hacer, poner un letrero, etcétera. Todo lo que se les ocurra, eso es muy importante. Veamos cómo se implementa la sacudida en, con lecturas del acelerómetro. Como siempre, pues vamos a regresar a nuestro sketch para ver qué elementos le vamos a agregar a nuestra vista, que son muy simples para completarlo de la aplicación pasada. Bueno para la sacudida solamente vamos a utilizar la vista que ya teníamos y sólo le vamos a agregar aquí un letrero que diga sacudida y este letrero también va a tener aquí un espacio para que nos diga sí, si se detectó una sacudida y vamos a agregar un botón aquí abajo que le vamos a llamar limpiar y ese botón nos va a limpiar este letrero para volver a detectar una sacudida. Entonces para este letrero necesitamos un outlet para cambiarlo, sería el outlet 4 y para limpiar necesitamos un action, que sería el action 1. Y eso es nuestro sketch. Vamos al programa. Bien, vamos a abrir el ejemplo del acelerómetro que ya teníamos hecho porque es lo mismo. Recordarán que estábamos colocando las lecturas, bueno pues ahora vamos a agregarle lo que dice nuestro sketch, que es un letrero que diga sacudida. Ahí está. Y vamos a ponerle una etiqueta que es la que vamos a cambiar, si es que hubo una sacudida, vamos a agrandarla, vamos a agrandarle el font si es que hubo una sacudida pues ahí dirá sí cuando detecte una sacudida, eso es lo que queremos que haga, ¿de acuerdo? Muy bien, bueno, para limpiar eso una vez que ya se presentó el letrero, vamos a crear su, vamos a crear su outlet. [AUDIO EN BLANCO] Listo. Bueno y ahora cuando ya ponga el letrero de sí vamos a ponerle un botón, para que lo podamos limpiar. Le damos clic al botón y se desaparece el letrero de allá arriba. Le vamos a quitar éste y vamos a conectar el action de ese botón. La parte de abajo, es un action muy simple, es un action vamos a ponerle limpiar, es un botón y no requiere, no requiere el center. Ahí quedó el action. Bien, vámonos al código recuerden que aquí en esta parte es donde se hace la lectura, aquí se hace lo que se quiera con los datos y aquí es donde vamos a preguntar si hubo una sacudida. Acuérdense como se hace, decimos si datos!.aceleration .x es mayor que un límite vamos a ponerle 1.6 o lo mismo para la aceleración en y, datos!.aceleration.y es mayor que 1.6, en realidad esto debería ir con valor absoluto pero en realidad como es una sacudida, se va a mover hacia los 2 lados y bastará verificarlo en un sentido, por eso me estoy ahorrando lo del valor absoluto pero si se lo quieren poner también funciona. Si datos!.aceleration.z es mayor que 1.6 si cualquiera de esas cosas pasa, significa que hubo una sacudida y entonces tengo que hacer algo, bueno aquí lo único que voy a hacer es self .sacudidaetiqueta que así le pusimos al outlet .text igual a sí y lo voy a poner en grandote porque aumentamos el tamaño del font. Ahí está. Bueno, vamos a ver qué pasa cuando se limpia ese letrero, pues eso es muy fácil porque simplemente le damos self. sacudidaetiqueta.text igual a, nada. Para que lo limpie, se acabo ¿okey? Muy bien, bueno pues obviamente eso tiene que correr en el iPad a fuerza, vamos a correrlo y veamos lo que sucede. Okey, aquí va. [AUDIO EN BLANCO] [AUDIO EN BLANCO] Aquí está la aplicación corriendo en el iPad, verán que el acelerómetro sigue marcando los valores y ahora vamos a ver si funciona la sacudida que programamos, lo voy a sacudir. Ahí está ya la detectó, la limpio, otra vez. Ahí está, ya la detectó. Y listo. Este fue el ejemplo de cómo detectar una sacudida leyendo del acelerómetro, nada más como a manera de resumen recuerden que, el acelerómetro no se puede leer desde el simulador, tienen que probarlo en un dispositivo real ¿sí? Porque el simulador pues no tiene acelerómetro, entonces no les va a dejar ejecutar una aplicación que tenga lecturas del acelerómetro, lo tienen que probar en un dispositivo real, tomen eso en cuenta. Muchas gracias. [MÚSICA]