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.
Buen articulo , me ayudo bastante y aclaro mis dudas.
ResponderEliminarGracias por publicarlo