Engine Construct2 español
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Tutorial Disparos

Ir abajo

disparos - Tutorial Disparos Empty Tutorial Disparos

Mensaje  Cr3ator2012 Jue Ago 23, 2012 3:55 pm

Primero copien estas imagenes para hacer el tutorial
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
Window size (800, 600)
Layout size (800, 600)
margins (200, 200)
Insertar Sprite
Name: Pistola
Pos. (130, 465)
size. (84, 43)
Insertar Sprite
Name: Avion
Pos. (150, 325)
size. (175, 110)
Insertar Sprite
Name: Bala
Pos. (240, 400)
size. (17, 6)
Vamos a hacer que la bala se mueva sola, para ello la seleccionamos y en la propiedad BEHAVIORS hacemos click en ADD / EDIT agregamos un comportamiento llamado BULLET(bala)
[Tienes que estar registrado y conectado para ver este vínculo]
y para que la bala se vea bien cambiemos la velocidad, en la propiedad SPEED : 200 y probemos el juego

OK, la bala se mueve de izq a der ahora vamos a hacer que la pistola dispare (este efecto lo pueden hacer para cualquier objeto que quieran que dispare, un barco, un avion, una persona).
lo primero que hay que hacer es insertar un KEYBOARD, ahora agregamos un evento On key pressed parametro: Key = barra espaciadora listo
agregamos una acción selecionamos Pistola SPAWN ANOTHER OBJECT parametros: Objeto=Bala, layer=0, image point=0 listo
OK, probamos el juego y la pistola dispara cada vez que presionamos la barra espaciadora pero se ve mal la bala sale desde el gatillo del arma, vamos a solucionar eso
vamos a seleccionar la pistola luego en la propiedad Animations EDIT hacemos click en zoon in hasta que podamos ver grande la pistola y hacemos click en la herramienta puntos de origen (ver tutorial primeros pasos movimiento parte 2) y colocamos el punto de origen en la punta de la pistola es decir desde donde debe salir la bala, cerramos (no es necesario guardar la imagen) probamos el juego y vemos que ya sale la bala bien, se ve real[Tienes que estar registrado y conectado para ver este vínculo]
Ahora vamos a hacer que dispare el avión, agregamos un evento On key pressed parametro: Key = Z listo
agregamos una acción seleccionamos Avión SPAWN ANOTHER OBJECT parametros: Objeto=Bala, layer=0, image point=0 y en el mismo evento creamos otra acción SPAWN ANOTHER OBJECT parametros: Objeto=Bala, layer=0, image point= 1 listo cada ala hara un disparo con solo presionar la tecla Z, ahora debemos cambiar el punto de origen del avión y ademas agregaremos otro punto para la otra ala es decir que cada ala tendrá un punto (los puntos pueden ser los que ustedes necesiten en su juego, para una torre o un barco con varios cañones o un avión con varias armas) en este caso cada ala tiene una punta desde la que saldra la bala por eso solo colocamos 2 puntos uno se llama 0 y el otro 1 recuerden que colocamos en parametros image point=0 y image point=1 OK
probamos el juego y vemos que al presionar la tecla Z dispara una bala desde cada ala, pero se ve mal las balas van de izq a der; arreglemos eso
agregamos una acción mas al evento Keyboard on Z pressed seleccionamos Bala SET ANGLE parametro: Angle = 270 listo y agregamos otra accion igual ahora lo que hacemos es intercalar las acciones quedando de esta forma:
Avion spawn Bala on layer 0 (image point 0)
Bala set angle 270 degrees
Avion spawn Bala on layer 0 (image point 1)
Bala set angle 270 degrees
en español esto es así:
cuando se presione la tecla z haga al mismo tiempo que:
desde el avion aparezca una bala en la capa 0 desde el punto 0
gire la bala cuando salga 270 grados
el avion aparezca una bala en la capa 0 desde el punto 1
gire la bala cuando salga 270 grados
si no saben nada de grados les explico: los grados son una medida circular es decir que un circulo cualquiera se puede medir desde 0 a 359 grados y al llegar de nuevo a su punto de origen completa el circulo este punto es 360, en el grafico pueden ver las escalas mas comunes que van a usar pero si quieren una medida personal ya tendran que probar un numero que este dentro de las medidas comunes; para facilitarles la explicación supongamos que su objeto es un reloj y quieren que la bala pase por las 12 coloquen el circulo de grados encima y miren que grado es el que les sirve veran que está en 270 grados; si quisieran que la bala pase por las 11 deben probar un rango entre 225 y 270
[Tienes que estar registrado y conectado para ver este vínculo]

Como ven la bala pasaba por el angulo 0 y en nuestro reloj por las 3; para que nuestro avión dispare hacia arriba es decir que la bala pase por las 12 miramos la imagen y vemos que el angulo que pasa por las 12 es 270 es fácil hacerlo de esa forma

Ahora insertemos un Sprite usemos la misma imagen del avión usemos la herramienta FLIP para voltear el avión y quede mirando hacia abajo ademas pintemosle unos puntos en las alas para que sepamos que es el enemigo
Name: Enemigo
Pos. (200, 128)
size. (170, 140)
Agregemos un sprite para las balas del enemigo (no se usa el mismo sprite por que puede tener distinto comportamiento por ejemplo la bala del enemigo es mas lenta o rapida)
Name: Bala2
Pos. (338, 400)
size. (14, 9)
Behavior Bullet: Speed=50
Ahora vamos a hacerlo mas rápido creen un punto de origen en el enemigo justo en la nariz del avión solo hará un disparo
agregamos un evento System Every 3 seconds
agregamos una acción a este evento: Enemigo Spawn Bala2 on layer 0 (image point 1)
agregamos otra acción a este mismo evento: Bala2 Set angle to 90 degrees
OK, lo probamos y cada 3 segundos del enemigo sale una bala en dirección a nuestro avión pero se ve mal la bala pasa por encima de nuestro avión, vamos a arreglar eso
agregamos evento Bala2 On collision with Avion
agregamos acción a este evento: Avion = Destroy (si una bala del enemigo nos toca nos mata)
usamos la acción destroy y no invisible porque destroy (destruir) hace que el gasto del equipo en memoria sea menor es decir hace que nuestro juego sea mucho mas rapido aunque no lo notemos acá veremos que cuando tengamos muchos enemigos por destruir si los hacemos invisibles nuestro juego sera mas lento que si los destruimos por eso es recomendado usar DESTROY; probamos el juego y vemos que la bala del enemigo nos desaparecio pero la bala sigue su camino no esta bien, arreglemos eso
agregamos otra acción al evento Bala2 On collision with Avion: Bala2 = Destroy lo probamos y vemos que la bala toca el avión este desaparece y la bala tambien desaparece

Muy bien nuestros disparos ahora son reales estos efectos los aplicamos a todos nuestros Objetos que puedan disparar practiquemos haciendo que las balas de nuestro avión destruyan al enemigo o coloquemos un objeto al frente de nuestra pistola he intentemos que lo destruya

Ahora nuestros disparos se ven reales pero si a un avión le disparan el no desaparece si no que explota asi que vamos a ver como se hace. Copiamos la imagen Explosión y creamos un nuevo Sprite[Tienes que estar registrado y conectado para ver este vínculo]

Name: Explosión
Pos. (530, 200)
size. (200, 200)
Behavior Fade: Fade in time=2, Wait time=1, Fade out time=2 (primero usemos estas y luego cambien estas propiedades y prueben cual les gusta más)
editamos de nuevo la imagen de nuestro avión y colocamos otro punto de origen en todo el centro del avión este será donde aparezca la explosión luego vamos a eventos y agregamos otra acción al evento Bala2 On collision with Avion: Avion Spawn Explosion on layer 0 (image point 2) queda de la siguiente forma
Avion Spawn Explosion on layer 0 (image point 2)
Avion Destroy
Bala2 Destroy
lo probamos y vemos que cuando la bala del enemigo toque nuestro avión aparecerá la imagen de la explosión y luego desaparece eso ocurre por el comportamiento Fade(desvanecer) y las propiedades que cambiamos Fade in time=2, Wait time=1, Fade out time=2 son para cambiar el tiempo que se demora en aparecer, mantenerse visible y volver a desapareser ya con esto podemos aplicarlo a nuestros juegos espero les sirva y cualquier duda hacerla que así aprendemos todos, hasta la proxima

[Tienes que estar registrado y conectado para ver este vínculo]
Cr3ator2012
Cr3ator2012
Admin

Mensajes : 14
Fecha de inscripción : 21/08/2012
Localización : Colombia

https://creajuegosenconstruc.activo.mx

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.