






Pelota rebotando
Este simple ensayo tiene como objetivo simular la caida de una pelota y el rebote de la misma contra el piso.
No se repetirán aquí conceptos ya vistos en tutoriales anteriores, por lo que se recomienda un conocimiento previo de eToys y sus fundamentos.
En cada rebote la velocidad de la pelota pierde un poco de fuerza, con lo cual la ascención posterior será cada vez menor hasta que la pelota quede depositada en el piso. O al menos, eso es lo que pasa en la realidad!.

Si bien este ejercicio podría hacerse de distintas formas hemos optado aquí por simular los movimientos de caida y ascenso, cambiando el valor del eje cartesiano y, de acuerdo a la velocidad que vaya adquiriendo la pelota.
Como inicio necesitamos una pelota (que puede ser un gráfico como el de este ejemplo o un Morf Elipse) al cual llamamos "pelota".
En caso de utilizar un gráfico, el mismo se puede incorporar a la imagen de acuerdo a sistema operativo que esté utilizando, según las instrucciones que figuran aquí
Posteriormente, con el Pintor dibujamos debajo un piso que tenga un buen grosor con algún detalle que querramos, un árbol con unas frutas en este caso. Luego agregamos unos pequeños tréboles de 4 hojas (para la suerte!) y una mariposa, en verdad esto no es necesario para el ensayo, pero le da más vida al cuadro, no les parece?. (Se puede animar la mariposa fácilmente, como ya se vió en otros tutoriales).
Teniendo el escenario listo, necesitamos crear una variable de instancia para la velocidad de la pelota, cosa que hacemos como ya hemos aprendido en La batalla de los Morphs. A dicha variable la llamamos "velocidad".
Creamos luego un guión, al cual llamamos "rebota", y cuya primer línea es la siguiente:

colocamos acá 0,4 como un valor arbitrario para ir probando.
El paso siguiente es ir decrementando el valor de y (el eje cartesiano y) conforme aumenta la velocidad de la pelota en cada latido del guión, usamos para ello lo siguiente:

Debemos luego agregar un Condicional para chequear cuando la pelota hace contacto con el piso. Usamos Pelota superpone de la categoría pruebas y generando un mosaico del Piso (por el halo naranja) hacemos que quede como sigue:

y si la respuesta es Si, entonces debemos variar la velocidad reduciéndola en algo y cambiando el signo, para que la pelota se mueva en sentido contrario (es decir subiendo por el imaginario eje y), de esta forma:

Con ello ya podemos testear nuestro guión.
Funciona? Si no lo hace, hay algunas posibilidades de cosas que puedan haber ocurrido, como por ejemplo que el eje y esté tomado en una parte donde justo pasa a valores negativos, debemos evitar esto para que el ensayo funcione bien.
Como adicional, vamos a crear un control que nos permita aumentar la aceleración de la pelota. Para ello utilizamos una Barra de Desplazamiento, que tomamos de la Pestaña Provisiones o bien del Menú del Mundo, objetos, desde la categoría Escritura de Guiones.

A dicho objeto lo nombramos "aceleración". Como pruebas, podemos jugar cambiando los valores mínimo y máximo de dicho objeto. Como valores definitivos se pueden dejar para Mínimo 0 y para Máximo: 20.
Para hacer que el valor de la Barra de Desplazamiento sea el valor de la velocidad, modificamos la primer línea del guión para aumentar la velocidad por el valor numérico de la aceleración, como sigue:

Probamos ahora arrancando el guión y variando la velocidad de caida de la pelota con dicha barra.
Bien, todo parece funcionar, excepto que la pelota no se detiene en el piso, sino que parece querer hundirse en el mismo.
Detectar porqué pasa esto es un ejercicio que lleva un buen tiempo de reflexión, y cuya respuesta puede dar muchas explicaciones a los que nos iniciamos en el terreno de las simulaciones.
Sería interesante compartir en la lista de Small-Land las deducciones, observaciones y conclusiones al respecto.
Los esperamos ahí!.
Notas:
- La pelota puede desaparecer de la pantalla debido, por ejemplo, a algún valor muy alto en aceleración. Una forma rápida de reposicionarla es dar a y el valor 450.
- Luego de sucesivas pruebas, la velocidad puede quedar en valores muy altos, y por eso en ocasiones hay que reasignarla a mano a un valor razonable (entre 5 y 10).
- Pueden bajar el proyecto desde aquí: pelota.1.pr.
Autores: Diego Gómez Deck y Germán S. Arduino.
Fecha: Noviembre 2003.
Link to this Page