Establecer la funcionalidad del player

Una vez creado un nuevo juego, establece las propiedades de la escena teniendo en cuenta su condición de escena con físicas.

INSERTAR EL ACTOR (PLAYER) EN LA ESCENA

Para la representación del actor “player”, se ha elegido la imagen de un ninja que se mueve por la escena hacia la derecha, hacia la izquierda y que salta para evitar los obstáculos que se encuentra en su desplazamiento.

Crea un actor y sitúalo en la escena. Haciendo doble clic sobre él, abre la ventana de propiedades del actor “Properties” para configurarlo. Asegurarte de que el botón boton_verde esté activo. De este modo, las reglas que le asocies se ejecutarán, y el actor estará visible tanto en la ventana de edición como en la de juego.

Selecciona la pestaña “Información sobre la visualización del actor” y configúrala como muestra la siguiente figura.

player_image

¡Recuerda!!! Las etiquetas se asignan a los actores para controlar las posibles colisiones que se hagan sobre ellos.

¡Recuerda!!! Para un buen resultado visual de la escena, las imágenes que utilices para representar a los actores deberán estar en formato .png con transparencias.

Selecciona la pestaña “Propiedades físicas del actor” y configúrala como se muestra a continuación.

player_fisicas

La opción “dynamic” establece que el actor sera móvil siempre, tanto si se le aplica una velocidad, como si se le aplica el resultado de una fuerza.

Poner a 0 el valor de “restitution”, establece que el actor no tendrá rebote.

¡Recuerda!!! Una vez que se activan las físicas de un actor, la escena pasa a ser una escena que contiene físicas.

Sal de la ventana Properties”, verás el actor situado en la escena.

player1

Prueba el juego. ¿Qué ocurre? El ninja se cae hasta desaparecer de la escena. ¿Por qué ocurre esto? Porque al ponerle físicas al actor, automáticamente se le pone físicas a la escena. Esta circunstancia hace que el actor caiga debido a su peso y a la fuerza de la gravedad. Para solucionarlo, se incluirá en la escena un nuevo actor que haga de base sobre la que se mueva el player

INSERTAR LAS BASES SOBRE LAS QUE SE DESPLAZA EL PLAYER.

Para que el actor pueda desplazarse sin caerse, es necesario colocar un actor que haga de base física sobre la que andar. Inicialmente, se colocarán en la escena dos bases a diferentes alturas para poder simular el desplazamiento y los saltos del player sobre ellas.

Sitúa un nuevo actor en la escena. Utiliza los puntos de control para que el tamaño del actor simule una base sobre la que se pueda desplazarse el player. También puedes hacerlo desde la pestaña “Información general actor” de la ventana de propiedades del actor “Properties“. Verás un ejemplo de la base en la figura siguiente.

base1

  • Abre la ventana de propiedades del actor “Properties” y asegúrate de que el botón boton_verde esté activo.

Selecciona la pestaña “Información sobre la visualización del actor” y configúrala como se muestra a continuación.

suelo

No es necesario seleccionar ninguna imagen, ya este actor solo se utiliza para simular una base invisible.

Selecciona la pestaña “Propiedades físicas del actor” y configúrala como muestra la siguiente figura.

suelo_fisicas

La opción “static” establece que el actor permanezca fijo. El actor no se moverá aunque se le aplique una velocidad o el resultado de una fuerza (colisión…). Esta opción es la que hace que cuando el actor se desplace por encima de esta base no se caiga por la fuerza de la gravedad.

Para colocar una segunda base en la escena, ya no es necesario volver a crear desde cero el actor. Selecciona la base creada y con la combinación de teclas Ctrl+C y Ctrl+V, se obtendrá una copia del actor.

Sitúala, por ejemplo, a la izquierda del actor original y un poco más arriba, y alárgala utilizando los puntos de control, como se muestra en la siguiente figura. Observa la imagen que aparece a continuación e intenta hacer algo similar.

base2

¡Recuerda!!! El resultado de la copia de un actor, es otro actor idéntico. Lo único que cambia es el nombre genérico, que se le asigna automáticamente para diferenciarlos en la lista de actores “cast”.

DESPLAZAR HORIZONTALMENTE EL PLAYER POR LA ESCENA CON LAS TECLAS DE FLECHA

Los movimientos que se van a programar son movimientos rectilíneos y horizontales. Para que el movimiento del actor parezca real, habrá que crear una animación diferente para cada movimiento que se represente.

Las teclas ”Right/Left” (flecha hacia la derecha/izquierda) realizarán el desplazamiento horizontal y rectilíneo hacia la derecha/izquierda respectivamente.

Desplazamiento del player hacia la derecha.

Crea una regla para el ninja y entra en el editor de reglas. Llámala “right-left”.

  • Arrastra el botón de condición “key”  condicion_key, que evalúa el estado de una determinada tecla del teclado, al grafo hasta que se abra un hueco debajo del círculo verde. Para configurar esta condición,  pulsa sobre la tecla “Right” del teclado para que ésta se incluya en la casilla “key”, indicando así que se evalúe esta tecla. En la casilla “keyMode” elige la opción “pressed” (tecla pulsada y mantenida).

¡Recuerda!!! Si tras evaluar la condición ésta es verdadera, se seguirá el camino de la derecha, si fuese falsa, se seguirá el camino de la izquierda.

Fíjate en la imagen del actor que se ha introducido en la escena. Inicialmente está mirando hacia la derecha actor_derecha, preparado para desplazarse hacia la derecha. Cuando el actor se desplace hacia la izquierda, tendrás que girarlo 180º sobre sí mismo para que mire en el sentido del desplazamiento actor_izquierda. Cada vez que se cambie el sentido del desplazamiento, el actor deberá girarse para simular correctamente el nuevo sentido de desplazamiento. Esto se controla estableciendo las reglas adecuadas en el comportamiento del movimiento del player.

  • Para que el actor mire hacia la derecha cuando pulses la tecla “Right”, arrastra el botón de acción “Change”  accion_change hasta la salida derecha (condición verdadera) de la condición tecla “Right” programada. Incluye “horizontal_flip” en la casilla “property”, y deja sin marcar la casilla “value. Esto es lo mismo que cambiar esa propiedad a False.

regla_change_1

Para rellenar una casilla horizontal_flip seleccionando su valor con el botón funcion4, deberás seguir la siguiente ruta:

ruta1

¡Recuerda!!! Tener desactivada la casilla horizontal_flip”, significa que el actor se representa tal y como está orientado originalmente.

Incluir una animación del actor

Para simular que el player anda, tendrás que incluir en la escena una animación del actor.

  • Arrastra el botón de acción “Animate”  accion_animate debajo del botón de acción Change que acabas de incluir.

  • Selecciona las imágenes que van a formar la animación utilizando el botón boton_mas.  En este caso, incluye las imágenes “correr1”, “correr2”, “correr3”, “correr4”, “correr5” y “correr6”. Una vez seleccionadas, sal de la ventana que muestra las imágenes de tu juego y verás como ya las tienes incluidas en la animación. Introduce el valor “6” en la casilla “fps”, para indicar cada cuántos fotogramas por segundo se quiere que cambie la imagen. Las imágenes se mostrarán en el orden en que aparecen en esta ventana.

regla_animation_2

  • Finalmente, arrastra el botón de acción Translate accion_translate justo debajo del botón Animate y configúralo.

Poner 0 en la casilla “angle”, indica que el movimiento es horizontal hacia la derecha.

Sal del editor de reglas, haz clic en el botón “Jugar” jugar de la barra de opciones y pulsa la tecla “flecha a la derecha” para comprobar si el actor se desplaza hacia la derecha mientras tienes esta tecla pulsada.

Desplazamiento del player hacia la izquierda. 

El proceso es similar al anterior.

  • Arrastra al grafo el botón de condición key condicion_key, a la salida izquierda (condición falsa) del primer botón de condición “key” programado y configúralo como se indica a continuación.

Para que el actor mire hacia la izquierda cuando pulses la tecla “Left”, habrá que girar el actor original 180º sobre sí mismo.

  • Arrastra el botón de acción “Change” accion_change hasta la salida derecha (condición verdadera) de la condición tecla “Left” programada y configúralo como muestra la figura.

regla_change_2

¡Recuerda!!! Tener activada la casilla horizontal_flip”, significa que el actor se representa girado 180º de cómo está orientado originalmente.

  • Para simular el movimiento del actor, arrastra el botón de acción Animate accion_animate justo debajo del botón de acción “Change” que acabas de programar y configúralo.
  • Selecciona las imágenes “correr1”, “correr2”, “correr3”, “correr4”, “correr5” y “correr6”. Introduce el valor 6 en la casilla “fps”.

regla_animation_3

  • Para que el player se desplace hacia la izquierda cuando pulses la tecla tecla “Left”, arrastra el botón de acción “Translate” accion_translate  justo debajo del botón Animate que acabas de introducir y configúralo como se indica a continuación.

Poner -100 en la casilla “speed” significa moverse 100 píxeles hacia la izquierda.

Prueba a mover el player por la escena con las teclas “flecha a la derecha” y “flecha a la izquierda”. Sitúa el actor encima de la base más alta para que al moverse hacia la derecha, veas también como cae de una plataforma a otra.

Harás un paso más en esta regla antes de darla por finalizada. Cuando no se ha pulsado ni la tecla “Right” ni la tecla “Left” y el actor esta sobre una base, este actor permanecerá sobre la base con un pequeño movimiento que le dará mayor sensación de realismo.

  • Arrastra el botón de condición Collides condicion_collides a la salida izquierda (condición falsa) de la condición tecla “Left programada anteriormente y configúralo. 

regla_collides_1

Se selecciona la etiqueta “suelo” para comprobar si el player está chocando con cualquier actor etiquetado como “suelo”.

Si se cumple la condición (el actor está sobre el suelo), se incluirá una animación del actor en la escena.

  • Arrastra el botón de acción “Animateaccion_animate a la salida derecha (condición verdadera) de la condición “Collides” programada y configúralo.
  • Selecciona las imágenes que van a formar parte de la animación. En este caso, incluye las imágenes “estatico1, estatico2” y “estatico3. Introduce el valor 3 en la casilla “fps.

regla_animation_4

El resultado final de la regla “right-left” será el que muestra la siguiente figura.

regla_right_left

Sal del editor de reglas y prueba a mover el player por la escena.

SALTO DEL PLAYER CON LA TECLA DE FLECHA “UP”

Ahora vas a programar el movimiento del player que simula un salto, movimiento del actor hacia arriba utilizando la tecla  “Up” (flecha hacia arriba). Se trata de un movimiento rectilíneo y vertical.

Crea una nueva regla al ninja a la que llamarás “jump”.

ninja_regla2

  • Arrastra el botón de condición “key”  condicion_key, debajo del círculo verde que indica el comienzo de una regla y configúralo.

Recuerda!!! La opción “down” significa que la tecla está pulsada.

Una vez que se confirma que se ha pulsado la tecla “Up, tendrás que preguntar si el actor está sobre el suelo, ya que únicamente podrá saltar si se encuentra sobre una base.

  • Arrastra el botón de condición Collides condicion_collides a la salida derecha (condición cierta) de la condición tecla Up programada anteriormente y configúralo.

regla_collides_2

En el caso de que el player esté sobre una base (salida derecha de la condición “Collides”), habrá que establecer las condiciones en las que se va a realizar el salto.

  • Arrastra el botón de acción “Play soundaccion_paly_sound a la salida derecha de la condición “Collides (el player está sobre una base).  Selecciona el archivo de sonido “jump” para que cada vez que el ninja salte se ejecute un sonido.

Al estar trabajando con una escena con físicas y al estar activas las propiedades físicas del player, cuando éste de un salto, lo hará con una velocidad inicial. A media que pase el tiempo, por efecto de la fuerza de gravedad, la velocidad irá disminuyendo hasta que el actor se pare y tenga que comenzar a descender. Para controlar esta característica, se programa un límite de velocidad para que el actor comience a descender, en un valor próximo a 0, por ejemplo, 0.1 píxeles/segundo.

  • Para establecer la velocidad inicial en “y”, arrastra el botón de acción Change accion_change debajo del botón de acción “Play sound”, y configúralo.

regla_change_3

Para rellenar la casilla “property” adecuadamente tendrás se hacerlo a través del botón funcion4, seleccionando Me>physics>Movement> velocity Y.

En el siguiente paso controlarás la velocidad del actor para establecer el momento en que éste deberá empezar a descender. Como se ha comentado anteriormente, este valor será  0.1 píxeles/segundo.

  • Arrastra al grafo el botón de condición Compare condicion_compare  entre el rectángulo que indica el final de la regla y la salida de la condición que evalúa si se ha pulsado la tecla Up”, como puede verse en la siguiente figura.

regla_compare3

  • Haz clic en el icono que representa el botón de condición Compare y configura la comparación.

regla_compare_1

La casilla superior de la condición “Compare” la rellenarás utilizando el botón funcion4 seleccionando las opciones: Me>physics>Movement> velocity Y.

La condición será verdadera siempre que la velocidad del player sea mayor que “0.1” y falsa en el caso que sea igual o inferior a “0.1”. En el caso de que sea cierta, se simulará un salto incluyendo una animación del actor en la escena.

  • Arrastra el botón de acción “Animateaccion_animate a la salida derecha del botón de condición “Compare” que acabas de programar.
  • Establece la animación seleccionando las imágenes “salto1, salto2, salto3” y “salto4”. Incuye el valor 4 en la casilla “fps”.

regla_animation_5

En el caso de que la condición “Comprare” sea falsa (velocity_y <= a 0.1) tendrás que establecer el momento en el que el actor comienza a descender. Considerarás “-0.1” la velocidad a partir de la cual se realizará el descenso.

  • Arrastra el botón de condición Compare condicion_compare a la salida izquierda del botón de condición Compare anterior y configúralo.

regla_compare_2

¡Recuerda!!! La condición será verdadera siempre que la velocidad del player sea inferior a “-0.1”. El valor negativo indica que el sentido del movimiento es hacia abajo.

Saldrá por la opción falso cuando el valor absoluto de “velocity_y” esté entre “0.1” y “-0.1” (ambos incluidos). En este caso, el player no realiza ninguna acción, se simula el momento en que el actor pasa de subir a bajar.

  • Para simular el descenso del salto, arrastra el botón de acción “Animateaccion_animate a la salida derecha del botón de condición “Compare” que acabas de programar.
  • Establece la animación seleccionando las imágenes “salto4”, “salto3”, “salto2” y “estatico1”. Indicarás en la casilla “fps” el valor 4.

regla_animation_6

El esquema general de la regla “jump” deberá ser como el que se muestra a continuación:

regla_jump

Ahora, sal del editor de reglas y prueba los saltos del player. Observa que el actor realiza los saltos correctamente en el sentido de la marcha, a pesar de que cuando se seleccionaron las imágenes de las animaciones, estas estuviesen mirando hacia la derecha. Esto se debe a que en la regla “right-left” se actualiza el valor de la propiedad del actor “horizontal_flip” en función del sentido del movimiento. Por esto, cuando el player va hacia la derecha, la animación del actor al saltar mira hacia la derecha y mira hacia la izquierda cuando va hacia la izquierda.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s