MONTAJE 10 MATA-ALIENS hackeando código
3.4.2 MONTAJE 10 MATA-ALIENS hackeando código
Esta vez no vamos a ser originales, vamos a ser un poco vagos y nos vamos a copiar el programa de otra persona. La web de Scratch tiene un repositorio de millones de proyectos, podemos seleccionar uno, y adaptarlo a nuestra simpática Echidna.
RETO Vamos a ver un ejemplo con este proyecto https://scratch.mit.edu/projects/29744/. El reto que te lanzamos es que funcione la nave espacial con nuestro acelerómetro de la Echidna.
SoluciónIMPORTANDO CONPROYECTO EXTERNO SCRATCH A EchidnaScratch o mBlocCON MBLOCK
En esta presentación se muestra cómo se importa un proyecto a EchidnaScratch o mBlock: (las capturas están con mBlock3, para mBlock5 simplemente no es abrir, sino Importar desde el ordenador
Curiosamente con mBlock3 sale algún fallo pero con EchidnaScratch y mBloc5 no hay, lo importa perfectamente
Hackear el código para que funcione con el acelerómetro
Una vez importando nos fijamos en el código que hay que modificar, está claro que lo que hay que tocar es el Sprite “Ship”Ship” que es el que queremos mover con el acelerómetro y modificar el “posicionX que se realiza con el ratón y cambiarlo por el acelerómetro:
Perooo como siempre: la posición del ratón es la misma que las coordenadas de la pantalla de mBlocmBlock y la x va desde -240 hasta 240 y nuestro acelerómetro de A2 va desde 250 hasta 500 luego hacemos el cambio de escala con la HOJA DE CÁLCULO anteriormente:
Y cambiamos el código:
En EchidnaScratch
Cambiamos el código que se recuadra
En mBlock
Idéntico pero como no podemos usar instrucciones específicas de Ecihdna, hay que usar A2:EnDonde A2 se tiene que fijar en este código en el arduinoDevice=dispositivo asignamosArduino que tenemos que añadir. Se crean las variables A2 (y también D2 luego lo comentamos)
Un poco más, disparar con D2
También vamos a cambiar el disparador “espacio” :
Quitamos el evento "al presionar la tecla espacio" y lo sustituimos por pinel digitalevento 2 para dispararbandera, con un bucle continuo y una condicional si se aprieta el botón SL de Echidna
Tiene que quedar así:
En mBlock
No hay instrucción específica de Edhidna, luego usaremos la variable D2 delque Echidna:hemos definido anteriormente que lee el pin D2
El
Resultado
- En EchidnaScratch en este repositorio: https://github.com/JavierQuintana/Echidna
- En mBlock el programa lo tienes aquí https://planet.mblock.cc/project/projectshare/3232624
El resultado en este vídeo:
SOLUCIÓN CON SNAP4ARDUINO
Importar un proyecto de Scratch a Snap4Arduino
Para importar un proyecto desde Scratch es un poco más complicado, ver esta presentación:
Cambios en el código en Snap4Arduino
Los cambios en el código son los mismos que los anteriores.
Recuerda que en esta presentación se enseña cómo configurar Snap4Arduino para que se comunique con nuestro Arduino y la Echidna.
El programa lo puedes abrir en Snap4Arduino en esta URL
El Sprite que tienes que conectar con Arduino es la nave esa con cuernos.
El resultado lo puedes ver en este vídeo