viernes, 28 de junio de 2013

REBECA

Aprendemos a programar en REBECA
1.      Investigar que es el programa Rebeca, ¿Qué podemos realizar con él?
2.      Describir la ventana de Rebeca
3.      Realizar la siguiente práctica
En primer lugar, veamos cómo iniciar Rebeca. Hay dos formas de hacerlo:
1. Utilizando el acceso directo “Rebeca” en el escritorio del ordenador.
2. Usando el archivo “Rebeca.exe” dentro de la carpeta donde hayamos descargado el juego.
 Lo primero que aparece al iniciarse el programa es la pantalla de bienvenida. Haz clic en la pestaña Plantillas, selecciona el mundo “hierba” y haz clic en Abrir. Este mundo nuevo, que contiene sol los elementos básicos en una escena, nos servirá para descubrir el entorno de Rebeca.

2.1.     Iniciar Rebeca



Ahora estás viendo la interfaz de Rebeca, que se divide en 5 áreas y la barra de herramientas:

1. La vista del mundo nos permite ver la escena que estás construyendo y añadir objetos.
2. El árbol de objetos contiene una lista de los elementos que se encuentran en la escena.
3. El panel de detalles nos muestra los métodos, propiedades y funciones del elemento que esté seleccionado en el árbol de objetos.
4. El editor de código permite crear métodos y funciones para que los objetos sepan cómo ejecutar sus acciones.
5. El editor de eventos permite decirle a Rebeca en qué momento, los objetos realizarán acciones.

Práctica N°1
Crear una escena
 Ahora que has abierto un mundo nuevo, sería buena idea guardarlo, así te aseguras de no perder tus creaciones si falla el ordenador o se va la electricidad. Para poder hacerlo, elige en la barra superior Archivo, luego Guardar Mundo Como y elige la carpeta donde guardarlo. Te recomendamos que crees una carpeta para guardar todas las animaciones que hagas.

Añadir objetos
Para poner objetos en el mundo, haz clic en el botón Añadir Objetos en la parte inferior derecha del área de vista del mundo y se abrirá el editor de escenas. Este editor, nos muestra la galería local de modelos 3D que podemos usar.
  Ahora entra en la colección Naturaleza y arrastra el objeto Bonzai a la escena. ¡Ya tenemos el primer elemento de nuestra escena!. Vuelve atrás, haciendo clic en Galería Local y añade el siguiente objeto: En la colección Animales, el objeto Frog.
 Tras crear el mundo, es recomendable colocar todos los objetos que vayamos a usar en este paso, ya que si lo hacemos más tarde es posible que tengamos que reajustar el encuadre de la cámara para que entren en el plano.
Organizar objetos usando ratón
Los objetos están en la escena, pero quizá no estén donde queremos o sean muy pequeños o su orientación no nos guste. Para corregirlo, tenemos un conjunto de botones en la esquina superior derecha del editor de escenas, que permite elegir la manera en que el ratón mueve los objetos 3D en el espacio.


En la vista del mundo, prueba a arrastrar la rana de la escena con el ratón y fíjate en que dirección se puede mover. Ahora, prueba a seleccionar cada botón de los controles de ratón (excepto el botón copiar) y arrastra la rana para ver qué sucede. El botón copiar nos sirve para duplicar objetos cuantas veces queramos. Sólo hay que hacer clic en él y luego en el objeto tantas veces como copias queramos.
 No te preocupes si te equivocas, sacas la rana fuera del plano o haces copias. Usa el botón
Deshacer, bajo la barra de menú, para eliminar la última acción realizada. Del mismo modo, si has deshecho algo que no querías, usa el botón Rehacer.

Para borrar algún objeto de la escena, puedes hacerlo con clic derecho sobre él y eligiendo la opción borrar.
 También se pueden mover partes individuales de los modelos 3D marcando la casilla Manejar subpartes. Marca la casilla y mueve la cabeza de la rana para ver el resultado.
 Si has terminado, deja seleccionada la flecha blanca de los controles de ratón y desmarca la casilla Manejar subpartes.
Vistas y cámara
Haz clic en vista cuádruple, sobre los controles de ratón. Esta opción nos permite ver la escena desde más ángulos para poder posicionar mejor los objetos en ella. Un detalle importante es que la barra de controles de ratón ha cambiado:

• El icono de control vertical ha desaparecido, pues las vistas “desde la derecha y el frente” ya permiten el movimiento vertical.
• El icono desplazar vista nos permite mover la cámara de cualquiera de las vistas.
• El icono zoom, nos permite acercar o alejar la cámara que tienen las vistas.
 Haz clic en vista única para volver a la vista normal del editor de escenas.
 Con las flechas, de la parte inferior del editor de escenas, podemos cambiar el punto de vista de la cámara. Esto nos permite ver la escena con diferente ángulo, posición y profundidad de cámara.


Práctica N°2
Organizar objetos usando métodos
Rebeca tiene algunas instrucciones predefinidas que pueden ser usadas para ajustar el tamaño o posición de los objetos en la escena. Estas instrucciones se llaman métodos y sirven para organizar los objetos, pero sin usar los controles de ratón.
 Entenderás esto mucho mejor con un ejemplo. La rana de la escena es muy pequeña, así que vamos a usar el método “redimensionar” para hacerla más grande. Para ello, haz clic derecho en el objeto frog del árbol de objetos, selecciona métodos y frog redimensionar. Las opciones que aparecen te permiten elegir cuánto quieres hacer crecer a la rana. Elige la opción 2 (el doble).

También podemos aplicar métodos a subpartes. Haz clic sobre el + a la izquierda de frog para ver las subpartes de la rana, haz clic derecho sobre head (cabeza), elige métodos, frog girar, izquierda y 1/4 revolución para girar la cabeza de la rana.


Intenta dejar los objetos organizados de forma parecida a los de la escena de abajo y cuando termines haz clic en Hecho para cerrar el editor de escenas:






Animar la escena
Esta es la parte más interesante de Rebeca, ahora es cuando animarás la escena y darás vida a los personajes: crearás tu primer programa.
Un programa es un conjunto de instrucciones que indica al ordenador qué hacer. Cada instrucción será una acción a realizar. En Rebeca, crear un programa para animar objetos 3D en un mundo virtual, es darle a los objetos una lista de cosas que hacer.
 Para facilitar la explicación vamos a cargar un mundo parecido al que acabas de crear. Así aseguramos que los objetos estén en la posición que nos interesa para animarlos. Para poder hacerlo, elige en la barra superior Archivo, luego Abrir Mundo..., pestaña Manual y doble clic en el mundo Animando la escena. Antes de empezar guarda este mundo en tu carpeta.
Diseñar un guión
La mejor forma de crear un programa es partir de una idea general y diseñar una lista de las acciones a realizar. Esto nos servirá para planificar su estructura.
 Los guiones gráficos (storyboards) son usados como herramienta de diseño por profesionales en los estudios de animación. En nuestro caso, es más sencillo crear un guión textual (como en obras de teatro), pues su estructura paso a paso (algorítmica) y sus líneas, versiones simplificadas de acciones (pseudocódigo), nos ayudará a tener claro qué deben hacer los objetos de nuestro mundo.
 Para nuestra escena hemos creado el siguiente guión textual:



Implementar el guión
La escena ya está creada y el guión diseñado, sólo falta escribir nuestro programa. Sus instrucciones deben ser introducidas en el editor de código que proporciona Rebeca. 

El editor, de forma predeterminada, crea un método vacío llamado Mundo.mi primer metodo
que usaremos para poner las instrucciones de nuestro programa y que se ejecutarán al hacer clic en
el botón Jugar. Para este ejemplo sólo necesitamos un método, así que usaremos Mundo. Mi primer método. Si te equivocas y pones algo que no quieras, arrástralo hasta la papelera para eliminarlo.
Métodos
Un método es un segmento de código de programa (un conjunto de instrucciones) que define
cómo se realiza una tarea específica. Vamos a rellenar el método Mundo.mi primer metodo para que
contenga línea por línea todas las instrucciones de nuestro guión.
 Para ver los métodos del conejo, haz clic sobre conejo en el árbol de objetos y luego en métodos
del panel de detalles. Esos son todos los métodos (conjuntos de instrucciones previamente escritos)
que el conejo sabe hacer.
 Según el guión, el conejo debe hacer dos acciones a la vez para empezar. Para ello, debes
arrastrar a Mundo. Mi primer método una sentencia de control. Las sentencias se encuentran en la parte inferior del editor de código y sirven para controlar el orden en que se ejecutan las instrucciones que contienen.
En este caso nos interesa la sentencia Hacer a la vez, así que arrástrala dentro del método.



Arrastra dentro de Hacer a la vez el método mirar triste del conejo.
Falta arrastrar el método conejo decir, pero en este caso nos encontramos con un método que necesita argumentos. Un argumento es un elemento de información que debe ser indicado para que Rebeca pueda ejecutar la acción, o dicho de otra forma, es el componente de una instrucción.
 Arrastra el método conejo decir bajo mirar triste y te pedirá como argumento la frase que decir.
Haz clic en otro... y escribe “Un caramelo!!”.
Del mismo modo que antes sigue arrastrando elementos a tu método, en el editor de código, hasta que tengas todas las instrucciones del guión dentro:

Haz clic en el botón Jugar, en la parte superior de Rebeca, para probar tu animación. Así puedes comprobar si tus programas tienen errores o hacen lo que buscabas.
Es importante que veas que tu método Mundo. Mi primer método, se compone de otros métodos que Rebeca ya tenía y que contienen instrucciones dentro.
Propiedades
Las propiedades son características propias de cada objeto. Para entenderlo, vamos a añadir una línea más a nuestro guión y la pasaremos a Rebeca.








                           Vamos a hacer que la ardilla se ponga colorada (se asuste) cuando el conejo salta a por su caramelo. Haz clic en ardilla en el árbol de objetos y luego en propiedades del panel de detalles. Ahora arrastra la propiedad color hasta tu método, donde corresponde según el guión, y elige el argumento rosa del menú que aparece.
 Para indicar la duración de está instrucción haz clic en más, elige duración, otro, escribe 0.1 y haz
clic en OK. Todas las acciones en Rebeca duran 1 segundo a no ser que se indique otra duración.


Haz clic en Jugar para ver el resultado de tu instrucción.
Funciones

Una función sirve para preguntar por una condición o para calcular un valor y suele ser usada
dentro de sentencias condicionales.
Antes has visto dos sentencias de control: Hacer en orden y Hacer a la vez. Ahora veremos la sentencia condicional Si/Sino, que se encarga de comprobar si un bloque de instrucciones debe ser realizado o no, mediante el uso de funciones y expresiones.
Una expresión es usada para comparar, por ejemplo, la distancia entre dos objetos.
Con las sentencias condicionales podemos hacer que la ejecución del programa no sea lineal, saltando bloques completos de instrucciones con solo evaluar una condición del mundo.
De nuevo el guión original se ve modificado con una línea más:

En el guión, “distancia del conejo al caramelo” es la función que calcula y devuelve un valor X. Este será comparado como expresión (X < 1). Si esta expresión es cierta se ejecutarán las instrucciones dentro del bloque Si, y si fuese falsa se ejecutarán las instrucciones del bloque Sino.
 El conejo sólo saltará cuando la distancia entre él y el caramelo sea menor de 1 metro.
Los valores devueltos por una función pueden ser de varios tipos:
• Numérico (1, 5, 6.8).
• Booleano (Verdadero o Falso).
• Cadena (“hola mundo”).
• Objeto (un conejo).

Arrastra dentro del portapapeles (arriba del todo, a la derecha en la interfaz) la instrucción ardilla
poner color a rosa para copiarla. Luego pincha y arrastra desde el portapapeles hasta dentro de Nada
en Sino y habrás duplicado una instrucción. Cambia el color a blanco y la duración a 0.25 seg.
 Haz clic en Jugar para ver el resultado de tu instrucción. Como la distancia entre el conejo y el
caramelo no es menor de 1 metro, el conejo no salta. Prueba el valor 5 metros, y haz clic en Jugar. El
conejo salta, ya que la distancia entre ambos es menor de 5 metros y se cumple la expresión. Cuando
lo pruebes vuelve a poner 1 metro y sigue leyendo.



Eventos

 Ya has visto cómo construir programas no interactivos con objetos que realizan acciones como en una película de animación. Ahora es el momento de ver cómo crear programas interactivos, cuyos objetos actúan ante clics de ratón y cuando ciertas teclas son presionadas.
Cuando el usuario hace un clic de ratón o presiona una tecla se envía una señal a Rebeca para que indique qué hacer a continuación. Un clic, una pulsación o incluso un objeto moviéndose a una posición concreta del mundo, es un evento y en respuesta a él se pueden hacer una o varias acciones.
Dicho de otra forma, un evento puede provocar una respuesta.
Los eventos ayudan a que cada ejecución de nuestro programa sea diferente en función a lo que el usuario realice o a la posición de los objetos.

Por lo anterior, los eventos suelen estar enlazados a un método de repuesta. De tal forma que cuando se produzca el evento, se ejecute un método con instrucciones a realizar.
Veamos nuestro ejemplo. En el panel de eventos, se puede ver que ya hay una instrucción de forma predeterminada por Rebeca.
 


En este caso, el evento es Cuando el mundo comienza y el método que se ejecuta al producirse es Mundo. 
Mi primer método.
Para aprender cómo añadir métodos, vamos a añadir los siguientes diseñados con guiones:



Al presionar la flecha hacia abajo, el caramelo bajará y luego volverá a su posición inicial. De la misma forma, al presionar la flecha hacia arriba sucederá lo contrario.
Ahora vamos a representarlo en Rebeca. Haz clic en crear evento nuevo en el panel de eventos, luego en Cuando una tecla es pulsada. Aparecerá la siguiente línea: Al presionar la flecha hacia abajo, el caramelo bajará y luego volverá a su posición inicial. De la misma forma, al presionar la flecha hacia arriba sucederá lo contrario.
Ahora vamos a representarlo en Rebeca. Haz clic en crear evento nuevo en el panel de eventos, luego en Cuando una tecla es pulsada. Aparecerá la siguiente línea:

 



Haz clic con el botón derecho sobre ella, luego en cambiar a, mientras una tecla es presionada. Con esto hacemos que el evento se produzca durante toda la pulsación y no sólo al comenzar.
Ahora la línea ha cambiado y se muestra lo siguiente:


Clic en alguna tecla y elige abajo. Ahora vamos a indicar qué acciones realizar cuando esté presionada la tecla abajo. Lo habitual sería llamar a un método, pero por simplificar la explicación vamos a añadir directamente las instrucciones al evento y no un método.
En el árbol de eventos haz clic en caramelo y en el panel de detalles en la pestaña métodos. Ahora arrastra el método caramelo mover hasta dentro del primer Ninguno del evento que acabas de crear (el de más arriba). Elige abajo, otro... e introduce la cantidad 0.2 metros y clic OK. Haz clic en más, luego duración y 0,5 segundos.
 Para completar el último Ninguno (el de más abajo) arrastra el método caramelo mover hasta su interior. Elige arriba, otro... e introduce la cantidad 0.2 metros y clic OK. Haz clic en más, luego duración y 0,5 segundos.
 Ya has acabado de programar lo que hará Rebeca al mantener la tecla abajo. Para describir lo que pasará cuando se presione la tecla arriba repite todo el proceso descrito desde crear evento nuevo, intercambia las direcciones en las que se mueve el caramelo e indica desplazamientos de 0.05 metros. Deberías ver lo siguiente:


Haz clic en Jugar para ver el resultado final de tu animación pulsando las teclas arriba y abajo.
 Nota: si deseas que tu animación no termine nunca prueba a usar una sentencia de control de repetición. Esta sentencia se llama bucle y es la forma más sencilla de repetir una acción o conjunto de acciones, un número determinado o infinitas veces. Arrastra la sentencia bucle bajo tu bloque

hacer a la vez, elige infinito veces e introduce dentro de bucle todo el bloque Si/Sino. Al final tendrás lo siguiente, pruébalo con Jugar.






1 comentario:

  1. Buen articulo , me ayudo bastante y aclaro mis dudas.
    Gracias por publicarlo

    ResponderEliminar