Parte 8: Moviendo la nave

Paso 48: Click en el Dashboard, luego Actor Types, y elegimos nuestro actor Ship. Ahora vamos a editar los eventos de nuestra nave, pulsa sobre la opción Events.

Paso 49: Llegaremos al Design Mode de nuevo. Vamos a crear un evento que nos permita mover la nave en el escenario de izquierda a derecha presionando el teclado. Para esto vamos a especificar que ocurre al presionar las teclas Y que ocurre si ninguna se aprieta.

Para empezar, presionamos el botón + Add Event en la parte izquierda del panel de eventos, elegimos Basics, y después seleccionamos When Updating.

Aparecerá el siguiente bloque en el área de trabajo:

Paso 50: Esta vez, en lugar de arrastrar un bloque de la paleta, vamos a escoger un bloque usando la opción de presionar botón derecho sobre el área de trabajo, pasaremos el puntero sobre la opción Place a Block, luego la categoría Flow, y finalmente haremos click sobre la opción if.

Paso 51: Colócalo dentro del bloque Always.

Paso 52: Ahora pon el puntero del ratón dentro del campo hexagonal de nuestro bloque. Click sobre el campo hexagonal (esta forma es siempre igual para los booleanos, por ejemplo puede ser true or false in stencyl) se abrirá un nuevo pop up, coloca el ratón sobre la categoría Input, después elige  el bloque Control is Down.

El Control está Down aparecerá en el bloque if.

Paso 53: El bloque Always comprueba si algo ocurre en cada frame mientras el juego se está ejecutando. El bloque if comprueba si algo está ocurriendo, en nuestro caso si la tecla control está siendo pulsada. Ahora falta decidir que tecla control es la que se está comprobando, click sobre la opción Choose control para seleccionar el control.

De la ventana de diálogo que aparece elige la opción right como se muestra.

Así es como quedará el bloque.

Paso 54: Siguiente, ve a Actor -> categoría Motion en la paleta y elige Set X Speed to [0] para Self.

Este bloque controlará nuestra nave para que se desplace horizontalmente. Arrastra el bloque dentro del bloque if.

Paso 55:  Vamos a crear un atributo para poder ajustar la velocidad en x de la nave.Usando una variable nos permitirá cambiar la velocidad de la nave sin tener que cambiarlo en varios lugares del juego cada vez que queramos hacerlo, bastará con cambiar el valor de la variable. Click en el botón Attributes de la paleta, después  sobre el botón Create Attribute.

En el diálogo selecciona Number para el tipo del atributo, llámalo Ship Speed, y presiona el botón Ok.

Aparecerá un bloque azul para el atributo Ship Speed al que podremos cambiar el valor. Mostraremos como cuando acabemos este evento.

Paso 56: Haz click en el campo set x-speed to [ ] para [Self] del bloque, selecciona Attributes del diálogo pop-up, y elige el que acabas de crear, Ship Speed.

Como cabe esperar el bloque aparece en el campo.

OJO: Hemos de darle un valor a la variable Ship Speed, por defecto valdrá 0, con lo que no se moverá.

Paso 57: Por último tenemos que darle un valor a la variable de la velocidad Ship Speed. Click sobre la opción Attributes en la parte baja de la paleta.

Pon su valor a  20.

Paso 58: Ve a Flow -> categoría Conditional en la paleta y arrastra el bloque otherwise if sobre el área de trabajo.

Júntala al bloque if en el bloque Always.

Paso 59: Ahora hemos de dictar que ocurre si se presiona la tecla izquierda. Generamos otro bloque de control, colocándolo a left, y negando el bloque (debajo de Numbers & Text -> Math) a el campo donde la velocidad de la nave debería ir, luego añade Ship Speed dentro del bloque negado. Aplicando la negación la nave se moverá en dirección contraria con la misma velocidad que hacia la derecha. Mira la imagen para que te quede mas claro.

Prueba el juego, ¿has descubierto el fallo?. Si, ¡la nave no para al soltar las teclas!.

Paso 60: Ahora nuestra nave se puede mover, pero, no se para al soltar las teclas. Para ello arrastra otro bloque otherwise if debajo del bloque otherwise if que acabamos de hacer. Añade un bloque an [ ] and [ ] (debajo de Flow -> Conditional en la paleta) al campo hexagonal vacío.

Paso 61: En el bloque [ ] and [ ], click sobre el campo vacío, selecciona Comparison del dialogo, y después el bloque not. Haz esto para cada campo.

Debería quedar algo así.

Paso 62: Añade ambos bloques de control [right] [is down] y [left] [is down] a cada campo.

Paso 63: Pon de nuevo el bloque set x-speed to [ ] for [Self] , click sobre el campo de [x-speed], y pon el valor de campo a 0. Ajústalo a su lugar . El evento al completo debería quedar así.

Paso 65: Graba y prueba que el juego mueve la nave de izquierda a derecha al pulsar las teclas, comprueba también que se detiene si ninguna tecla está siendo pulsada. Ahora que se mueve nos tenemos que centrar en que nada impide que la nave se salga de la pantalla en su movimiento, este será nuestro siguiente paso.

Continúa en la parte 9.