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.

tutorial-crash2-es11185

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.

tutorial-crash2-es11587

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

tutorial-crash2-es11642

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.

tutorial-crash2-es11929

Paso 51: Colócalo dentro del bloque Always.

tutorial-crash2-es11975

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.

p2.8.1

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

tutorial-crash2-es12354

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.

tutorial-crash2-es12691

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

tutorial-crash2-es12769

Así es como quedará el bloque.

tutorial-crash2-es12802

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

tutorial-crash2-es12906

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

tutorial-crash2-es13023

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.

tutorial-crash2-es13387

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

tutorial-crash2-es13494

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

tutorial-crash2-es13630

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.

tutorial-crash2-es13792

Como cabe esperar el bloque aparece en el campo.

tutorial-crash2-es13844

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.

tutorial-crash2-es15354

Pon su valor a  20.

tutorial-crash2-es15376

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

tutorial-crash2-es13963

Júntala al bloque if en el bloque Always.

tutorial-crash2-es14007

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.

tutorial-crash2-es14449

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.

tutorial-crash2-es14734

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.

tutorial-crash2-es14885

Debería quedar algo así.

tutorial-crash2-es14912

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

tutorial-crash2-es15005

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í.

tutorial-crash2-es15199

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.

tutorial-crash2-es15780Continúa en la parte 9.