jueves, 27 de septiembre de 2007


La limitación de funciones matemáticas que tiene scratch, sólo tiene las cuatro cuentas + - * /, se puede suplir creandose uno mismo las rutinas que sean necesarias. Además puedes exportarlas.

En este caso es una rutina para calcular el seno de un ángulo. Un objeto con un script que al recibir el mensaje "seno" se activa y calcula el seno del ángulo guardado en la variable (global) "angulo" y el resultado queda en la variable (global) "sin".

El cálculo está basado en los primeros términos de la serie de Taylor para el seno.

martes, 25 de septiembre de 2007

Vamos a analizar este ejemplo:

Learn more about this project

El funcionamiento es sencillo: se prueban las pesas y poniendo y quitando se identifica el peso desconocido. Para añadir o quitar una pesa se pulsa con el ratón sobre la pesa.

El primer detalle es el diseño de las imágenes de las pesas:






de esta forma cada una ocupa una posición relativa a las demás y para moverlas desde, o hacia la báscula solo hay que dar la orden: "ir a sprite 6" (báscula) o "ir a sprite 7" (estantería), y allí se colocarán en su sitio correcto.

Este es el script de movimiento de pesas:

Al pulsar sobr la pesa (en este caso la de 2Kg) si la pesa se encuentra en una posición x mayor que cero (está a la derecha de la pantalla, es decir en la báscula) la envía al sprite 7 (la estantería).

Si la posición de la pesa es negativa (menor que cero) es que está a la izquierda, es decir en la estantería y entonces la envía a la báscula.





En este código se genera el peso desconocido (variable peso caja) de forma aleatoria entre 1 y 63. Después se envía un mensaje (calcular peso) a los demás objetos, se espera que termine el script lanzado con el mensaje y se mueve el plato de la báscula hacia abajo en función del peso.


Este es el script que recibe el mensaje y fija la variable peso al valor del peso caja. Después va modificando el valor de la variable (peso) en función de las pesas colocadas sobre la balanza:

Si la balanza toca la pesa 1kg restamos 1, si toca la pesa 2 restamos 2 etc.

El resultado (el valor de la variable peso) indica la diferencia entre el eso de la caja (desconocido) y la suma de las pesas.



Este nuevo script asociado al plato de la báscula, el que contiene las pesas gestiona el movimiento (arriba abajo) del plato en función de la diferencia de peso de la caja y las pesas del plato.

Si la diferncia de peso (es decir la variable peso) es mayor que 10 desplaza el plato al valor máximo (20).

Si la diferencia es menor de 10 el desplazamiento es igual al valor del peso.

lunes, 25 de junio de 2007

Un programa pequeño y sencillo que permite trasladar la hora de un reloj digital a la de un reloj analógico.

Solo hay que mover los cursores de la hora y de los minutos y veremos la hora analógica en el otro reloj.





El programa es muy simple:
  • consta de un fondo gris con un recuadro gris oscuro para la hora digital y la imagen del reloj analógico (sin agujas).

  • Hay 4 variables:
    Visibles: hora y minuto. Estas variables etán configuradas para que tengan cursor y límites de 0-60 en minutos y 0-12 en horas.

    Ocultas: anguloh y angulom, para indicar el ángulo al que deben apuntar las agujas

  • y dos objetos: las agujas.



  • Este es el código asociado a la aguja de las horas:









    Este es el código asociado a la aguja de los minutos: