Tiros

Tutorial paso a paso para GDevelop
Este tutroial te ayudara a comenzar a usar GDevlop:
Crearas un juego muy simple donde los enemigos atacaran al jugador, quien sera capaz de dispararles a los mismos para hacerlos explotar.
Crear un juego nuevo
Haga clic en Nuevo en el menú para crear un nuevo proyecto:
Una ventana te ofrecerá elegir la plataforma en la cual tu juego se basará, así como algunas plantillas. Elegir la plataforma deseada y darle clic a Proyecto Basío
Tambien elegir un directorio y un nombre para el archivo de tu juego, presionar ok para crear el proyecto.
Como primera imagen se creara automáticamente y se abrirá para que cree un juego por primera vez:
Conseguir imágenes y recursos que necesitas para el tutorial.
Antes de ir a futuro necesitamos algunas imágenes para nuestro juego.
Una vez que tengas descargadas las filas, extrae el contenido en el directorio en el cual creaste el proyecto.
Crear el jugador TORRETA.
El jugador controlara una torreta para disparar a los enemigos.
Hacer clic derecho en el centro de la pantalla gris en GDevelop y elige AGREGAR NUEVO OBJETO
Se abrirá una ventana  pop-ups con el fin de elegir el tipo de objeto para crear
Elegir el "Objeto Sprite" y darle al OK. El editor del objeto se abrirá automaticamente.
Lo primero para hacer es agregar la imagen de la torreta: Hacer clic derecho e el area en blanco en la parte inferior de la ventana, y elgir AGREGAR UNA IMAGEN DEL DIRECTORIO:
Puedes mover el objeto manteniendo el botón izquierdo del ratón presionado en él.
Por defecto, el objeto es llamado Nuevo Objeto por GDevolop. para cambiar este nombre seleccione el objero en la lista de la derecha de la ventana, y presione F2.
Ingrese Entonces TORRETA como nuevo nombre y presione enter.
Primeros Eventos
Vamos a crear los eventos usados para animar el juego comleto.
Primero, la torreta tiene que moverse con el raton del jugador
Vaya a los eventos del editor haciendo clic en el Tabulador de Eventos:
Entonces en la cinta, haga clic en AGREGAR UN EVENTO para crear un evento nuevo:
El evento es creado, con una lista bacía de condiciones (en la parte izquierda) y una lista bacía de acciones (a la derecha). Pone tu cursor sobre la lista de accion y elige AGREGAR UNA ACCIÓN en el panel de contexto que aparecerá.
La primera acción sera hacer que la torreta se mueva con el cursor: En la ventana, elija la acción : Todos los objetos > Ángulos > Rotar a la posición seleccionada.
Cuando este seleccionado, a la derecha de la ventana se mostrara el nombre de la acción como la de los parametros. Complete el primer parametro escribiendo Torreta ( tambien puedes hacer clic derecho en el siguiente parametro para  conseguir una lista con los objetos abilitados). Para el siguiente parametro, ingrese RatónX() y RatónY() para que el objeto se mueva con la posición del raton.
Cuando el juego se abra, estas 2 expreciones seran reemplazadas por la posición del raton.
RatonX() y RatonY() son solo 2 de las funciones principales habilitadas cuando la expresión es necesitada por un parámetro.Haciendo clic en el botón siguiente a un parámetro esperando a una expreción para abrir el Editor de Expresiones el cual abrirá listas con todas las funciones habilitadas.
Presionar e OK. La accion sera agregada al evento.
Como no hay ninguna otra condición, La acción será repetida cada vez que la pantalla re refresque (Al rededor de 60 veces por segundo). La torreta, por lo tanto sera siempre orientada en la direccion del ratón.
Usted puede arir una previsualización del juego: tan solo tiene que ira atras hacia el editor de escenas (clic en el tabulador de Escena siguiente a el tabulador de eventos) entonces, en la cinta, clic en la Previsualización.

GDevelop abrira tu explorador por defecto y tu juego en él

Balas que disparara la torreta
El jugador debe ser capaz de disparar a los enemigos.
Primero necesitamos una BALA como objeto : el la lista de la derecha, hacer clic derecho en un objeto y darle a agregar objeto . Elegir un Sprite y después nobrarlo BALA (Boton derecho en el objeto > Renombrar).

Entonces,haga doble clic en el objeto para editarlo. Agregue una imagen al objeto: Botón derecho en el área blanca inferior. elegir AGREGAR UNA IMAGEN DEL DIRECTORIO elegir la imagen de la bala desde el directorio.
Cierre la ventana. Seras notificado si el objeto no aparece en la escena como lo agregamos gracias a la lista.
Diríjase hacia el tabulador de eventos, y agregue un nuevo evento (cuando estés en el tabulador de eventos en la cinta ) y entonces una nueva acción
La primera acción sera crear  un nuevo objeto, la cual esta habilitada en la categoría Todos los objetos > objetos.
El primer parámetro sera la posición de la torreta : Ingrese Torreta.X() y Torreta.Y() en el segundo y tercer parámetro
Clic en OK para finalizar la acción.
Entonces Agregue otra acción después de la primera ( no cree otro evento!). Esta vez elija la acción llamada Todos los objetos > Despasamiento > agregar fuerza (Angulo).
GDevelop provee una fuerza de Construirlo Habilitando a mover fácilmente los objetos . Esta accion sera usada para mover la bala con la dirección del ratón cuando dispare. Como el primer parámetro, ingrese BALA para que GDevelop moverá la bala recién creada el la ultimaacción. Ingrese Dirección.Torreta() en el segundo parámetro para usar la direccion de la torreta.Para el tercer parámetro. ingrese 400 entonces la bala se moverá con la velocidad de 400 pixeles por segundo.
Finalmente, ingrese 1 en el ultimo parámetro para que entonces esa bala se seguirá moviendo después de que el momento fuera cread

Nuestras 2 acciones deberían lanzarse solo cuando el jugador este disparando.(i.e: Presionando el boton izquierdo del ratón)
Para hacer eso, agréguele una condicion al evento ( Ponga el cursor sobre la lista de condiciones bacías de los eventos que estamos creando, y elija Agregar condición) :


Elija la condición Ratón > Un botón es presionado . Escriba Izquierda En el parámetro (o presionando en la derecha de el parámetro para abrir un ayudante) y cierre la ventana presionando ok.
La condición ahora esta agregada el evento.
Si utilizas la vista previa en el juego ahora podrás ver que tenemos 2 problemas : las balas son disparadas muy rápido, y aparecen en el origen de los objetos lo cual no es muy realista.
Para localizar el primer fallo, vamos a usar un temporizador: agregar una condicion al ultimo envento que hemos creado. Elegir la condición: Temporizador> Valor del temporizador e ingresamos la contidad de 0.25 en el primer parametro, y "RadiodeFuego " En el segundo parametro , el cual es el nombre del temporizador que vamos a usar ( no se olvide las citas al rededor del nombre del temporizador ).


Ahora, agregue una acción Temporizador > Reiniciar Temporizador en el mismo evento, con "RangoDeFuego" como parámetro ( otra vez, recuerde las citas). Este par de condiciones y acciones asegurarán que esas acciones sean usadas para que la acción de disparar las balas sea repetida cada 0.25 segundos desde la última bala lanzada.


Ahora tenemos que asegurarnos de que las balas sean disparadas desde el cañón de la torreta. Haga doble clic en el objeto de la torreta en la lista de objetos. Entonces, en la barra de herramientas en la parte superior de la ventana, haga clic en la segunda herramienta para abrir una ventana que contiene la lista de los puntos habilitados para el objeto: por defecto, esta solamente el origen y el centro del objeto.


Agregue un punto dandole clic al "+" en la barra de tareas de la ventana de Puntos. Nombra el nuevo punto como "Cañón". Cuando este creado y renombrado, asegurese de que esta seleccionado en la lista (simplemente haga clic en él ) y entonces haga clic en la imagen para cambiar la posición:


Ya puede cerrar la ventana. Necesitamos decirle a GDevelop que cree las balas en la posición del punto:
En el editor de eventos, ponga el cursor en el parámetro Torreta.X() y haga clic : Un texto sera mostrado. úsalo para reemplazar el parámetro por Torreta.puntox(Cañón) y haga clic en cualquier sitio para cerrar el texto. También modifique el parametro Torreta.Y() para reemplazarlo por Torreta.PuntoY(Cañón):


Ahora puede ver el juego ( Diríjase al editor de escenas haciendo clic en el tabulador de escena y clic en Pre visualización en la cinta)


CREANDO ENEMIGOS QUE ATAQUEN A LA TORRETA
Primero, necesitamos crear los objetos usados para los enemigos: Agregue un objeto a la lista de objetos ( Clic derecho en un objeto existente > Agregar objeto . Elija un objeto sprite y póngale el nombre de 
 Enemigo.


Edite el objeto (doble clic en el en la lista) y agregue 2 imagenes: Tanke2Fr1.Png y Tanke2Fr2.png. Ahora , haga botón derecho en Animación 0 en la lista de animaciones en la parte izquierda de la ventana, y cambia el tiempo entre las imágenes: Fije lo en 0.05 por ejemplo.
También Fíjese en el bucle de la animación para asegurarse de que la animacion este repetida.

Cierre el editor una vez que termine.
Alto! Hora de Guardar!
Antes de ir a futuro, recuerde de guardar frecuentemente: en la cinta, haga clic en  archivo y guárdelo   :

OK, Vamos a volver al juego
Vamos a volver  al juego . Queremos crear enemigos que se dirijan a la torreta :
Vamos a el editor de eventos y agreguemos un nuevo evento.

La creación de un enemigo tiene que ocurrir cada segundo por ejemplo : agregue una condición Temporizador > Valor de un temporizado. Ingrese "1" en el primer parametro y "CreacionDelEnemigo" como nombre del Temporizador.Entonce agregue en el mismo evento una accion para reiniciar el Temporizador ( Accion Temporizador > Reinicia un temporizador con "CreacionDelEnemigo"  como parametro):


Entonces podemos agregar otra accion al objeto de crear un enemigo.Ingrese "enemigo" en el primer parametro. Para el segundo  parametro, la  posición X de el nuevo objeto a crearse, ingrese Aleatorio(800) : Esto volvera aleatorio un numero entre el 0 y el 800, entonces el enemigo creado tendra una diferente posición  cuando sea creado. Para la posición Y, ingrese -50
Esto creara el enemigo fuera de la pantalla, entonces el jugador no tendrá el sentimiento de que un enemigo acaba de aparecer de ninguna parte.


Por ahora, los enemigos están creados pero no tienen movimiento. Agregaremos otro evento sin ninguna condición. Entonces agregaremos una acción: queremos que los enemigos se vengan hacia el jugador. Elija la opción Todos los objetos < Desplazamiento  mover un objeto hacia otro. Para el primer parámetro , ingrese Enemigo, y Torreta para el segundo parámetro . Ingrese un largo de 150 para la fuerza, y un a amortiguación de 0, como la fuerza será continuamente aplicada.


Gracias al ultimo evento, el enemigo será capaz de moverse. Una ultima cosa es requerida para asegurarse de que el enemigo este orientado hacia la torreta: agregue una segunda acción llamada Todos los objetos <angulo < rotar hacia posición. Ingrese Enemigo como parámetro. Entonces , queremos que el enemigo se dirija hacia la posición de la torreta, entonces Fije Torreta.X() y Torreta.Y() respectivamente en los dos siguientes parámetros. Esos dos parámetros regresaran a la posición X e Y de la torreta. Podemos utilizar esta acción con la opción Torreta.X(Centrar) y Torreta.Y(Centrar) para hacer que el enemigo se dirija hacia la posición central de la torreta.

Esto es lo que tendrías que tener:

Si abrimos la pre-visualización ,verá que los enemigos estan creados y se estan moviendo. Si no lo hacen, vuelva a revisar los eventos: Revise si el nombre del temporizador es correcto y si es lo mismo en la condición y en la acción. También revise si el último parámetro de la acción usada para mover los enemigos  es 0 (cero).

Agregando Explosiones.
Es hora de agregar las explosiones. Primeros hay que crear el objeto de la explosión: Agregar un nuevo sprite llamado Explosión:

Editelo , y agréguele todas la imágenes llamadas Explosión_Algo. Cuando agregue la imagen, solo selecciónelas todas:
Cuando la imágenes estén agregadas, cambie el tiempo entre las imágenes (botón derecho en Animación 0 para abrir las opciones de la animación).


Ingrese un tiempo de 0.01 para la explosión. Puede ver la explosión haciendo clic en la Pre-Visualización in la barra de herramientas en la parte de arriba del editor.
La explosión esta lista. Cierre el editor y vuelva atrás al editor de eventos.
Queremos que los enemigos exploten cuando las balas les golpean. Agregue un nuevo evento.
Agregue una condición : elija la condición : Todos los objetos > Colisión > Colisión. Ingrese Bala y Enemigo en los parámetros.


Cuando la condición este escrita, agregue una acción para crear un objeto Explosión. Para la posición, ingrese Enemigo.X() y Enemigo.Y() para crear la explosión en la posición del tanque.
Agregue otra acción llamada Todos los obetos > objetos > Borrar un objeto. Como parámetro, ingrese Enemigo entonces el tanque sera destruido.


Ahora puedes Pre-visualizar el juego:


Puedes notar que los objetos no son destruidos cuando su animación se realiza. Esto puede ser un problema como que estén en escena, haciendo que el juego sea menos eficiente. Debemos limpiar nuestra basura: Agregue un nuevo evento.Agregue una condición : Sprite  > Animación > Animación Terminada. Ingrese Explosión como parámetro: la condición sera verdadera cuando una explosión se termine. Agregue una accion al evento para que se destruya la Explosión

Agregando mas explosiones y un Game Over.
Hasta ahora, el jugador no puede morir. Queremos que el jugador sea destruido cuando un enemigo le este disparando.
Primero, Agregue un nuevo evento, y haga lo que hicimos en evento para destruir el enemigo: agregue una condición probando para la colisión entre un tanque y la torreta. Entonces cree una explosión en la posición de la torreta. Finalmente, agregue una acción para destruir la torreta:

Debería ser interesante agregar un "Game Over" escriba cuando la torreta sea destruida : agregue un objeto a la lista de objetos. Esta vez, elija objeto de Texto. Llame lo GameOver.

Edite lo (doble clic en la lista de objetos) y modifique el texto. también haga clic en Elegir fuente y seleccione la fuente que estaba en el recurso del archivo que extrajo en la dirección del proyecto. Finalmente, puede incrementar el tamaño de bits de lo siguiente:

Cuando este listo, haga clic en ok para cerrar el editor del objeto. Diríjase a el editor de escenas e ingrese el texto en la escena: solo arrástrelo de la lista de objetos hacia la escena (ponga el cursor sobre el objeto en la lista, haga clic izquierdo y mantenga presionado el botón izquierdo del ratón, entonces mueva el cursor hacia la escena y suelte el botón para poner el objeto).
Por ahora, el objeto esta siempre visualizado. Diríjase al editor de eventos y agregue un nuevo evento. Agregue una condición  Escena > al inicio de la escena y una accion Todos los objetos > Visibilidad > esconder objeto, con GameOver Como parámetro. Por lo tanto, el texto se esconderá mientras el juego este en progreso.
Para Visualizar el texto cuando el jugador es destruido, agregaremos otro evento. Agregue una condición Todos los objetos > Objetos > Numero de objetos. Ingrese Torreta como primer parámetro, entonces = En el segundo parámetro y 0 para el tercero: la condición sera cumplida cuando el numero de la torreta de la escena sea 0, eso quiere decir cuando es jugador sea destruido.

Agregue una acción ara mostrar el GameOver ( Todos los objetos > Visibilidad > Mostrar un objeto).
Aquí están todos los eventos creados :


Debería ser interesante agregar un pequeño retraso antes de mostrar el GameOver : Agregue una acción para reiniciar el tiempo llamado GameOver Temporizador ha pasado 0.5 segundos por ejemplo:


Finalmente, un interesante efecto es para parar en juego cuando GameOver este visualizado. Agregue una acción mas para el ultimo evento: elija el Temporizador > escala de tiempo. acción e ingresar 0 como parámetro para pausar el juego.


Aquí están todos los eventos:
Puede pre-Visualizar el juego y ver que el texto se mostrará y el juego se detendrá cuando la torreta es destruida:


Borrando las balas que se van fuera de la pantalla.
Recuerde que siempre que destruimos nuestra basura para prevenir que el juego se tilde cuando halla gran cantidad de objetos haciendo nada excepto ralentizando todo el juego. Esto es porque tenemos cuidado borrando las explosiones cuado la animasión termina. Pero que hay de las balas?
Cuando estas de van de la pantalla, siguen existiendo y la computadora deme actualizarlas cada vez que se refresque la pantalla: Esto puede ocasionar problemas de rendimiento.
Debemos agregar un evento para destruir las balas cuando estas están muy lejos de la torreta, eso es algo fácil. Pero también podemos usar un comportamiento que destruirá automáticamente el objeto cuando se va de la pantalla.
Haga clic derecho en el objeto de la lista de objetos y elija Otras Propiedades:

Una cuadrícula con propiedades se mostrará. Debajo de la cuadrícula, podrá ver el comportamiento de los objetos: Por ahora no hay nada. Clic en agregar:


Una lista con los comportamientos disponibles se mostrará: Elija el comportamiento: Destruir cuando este fuera de la pantalla:


Eso es todo: ahora puedes ver que el comportamiento esta agregado al objeto:


Y cuando una bala se vaya fuera de la pantalla, será destruida. Entonces estarás listo para intentarlo de nuevo y seguir tu juego.

AGREGANDO UN FONDO
Una ultima cosa  para hacer que el juego se vea bien es agregar un fondo.
Agregue un Sprite llamado Fondo. Editelo y agreguelo en la imagen de fondo. Entonces, arrastrelo desde la lista de objetos hasta la escena:

El Fondo se mostrara debajo de los otros objetos, para cambiar esto, haga doble clic en el para abrir las propiedades. Tambien puedes hacer clic en el y elegir propiedades:
Simplemente cambie el orden Z: Ingrese un numero negativo para asegurarse de que los otros objetos ( Los cuales tienen un orden Z positivo) se mostraran después del fondo. También cambie la posición de lso objetos para fijar sus coordenadas X e Y a 0:
Ahora puedes probar tu juego con un buen fondo:



No hay comentarios:

Publicar un comentario