Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: gamemastertom en Noviembre 17, 2012, 08:40:24 PM

Título: Balas de ametralladora [SOLUCIONADO]
Publicado por: gamemastertom en Noviembre 17, 2012, 08:40:24 PM
Hola a todos, espero me puedan ayudar:

En mi juego de disparos con vista aerea, el personaje dispara con el mouse (y el cursor es la mira).Mis problemas son 2:

1 - Como le doy un delay a las balas, para q no salgan todas en una linea continua?

2 - Las balas tienen una forma ovalada, como hago q roten para q pareciera q van hacia donde fueron disparadas? en lugar de ser un ovalo vertical q se mueve

Gracias de antemano por la ayuda.
Título: Re:Balas de ametralladora
Publicado por: pikamaker en Noviembre 17, 2012, 08:54:43 PM
el angulo de la bala lo cambiás poniendo en step:
[gml]image_angle=direccion[/gml]
y el delay de las balas lo podés hacer con una alarma que (si estas apretando la tecla de disparo) cree el objeto disparo
en la alarm
[gml]if keyboard_check_direct(vk_space) ///si precionás espacio
{instance_create(objbala,x,y)} ///crea la el disparo (cambiar objbala por el nombre de tu disparo :P)
alarm[0]=10///regulas con este numero la frecuencia con la que salen las balas[/gml]
Título: Re:Balas de ametralladora
Publicado por: gamemastertom en Noviembre 17, 2012, 09:34:53 PM
mmm esa alarma tendria q ponerla en el personaje en step? no la estoy entendiendo mucho
Título: Re:Balas de ametralladora
Publicado por: DarkKRuleR en Noviembre 17, 2012, 09:39:43 PM
un método más sencillo sin alarmas

create del personaje:
delay = 0;

evento disparo (mouse click):
if (delay == 0) {instance_create(x, y, obj_bala); delay = 30;}

step:
if (delay > 0) delay -= 1;

al poner 30 al disparar, que son los steps que duran 1 segundo predefinido, disparará 1 bala por segundo como mucho. Si pones 15, 2 balas por segundo. Si pones 60, 1 bala cada 2 segundos, etc.
Título: Re:Balas de ametralladora
Publicado por: gamemastertom en Noviembre 17, 2012, 09:57:19 PM
Gracias DarkRuler, si me sirvio.

Ahora solo me falta hacer q las balas cambien su angulo respecto de hacia donde van.
Título: Re:Balas de ametralladora
Publicado por: DarkKRuleR en Noviembre 17, 2012, 10:01:25 PM
eso te lo dijo Pikamaker, en step, image_angle = direction (él puso direccion,  falta la t, pero es eso), ah, para que esto funcione, asegúrate que el SPRITE de la bala mira a la derecha, siempre deben mirar los sprites a la derecha para poder trabajar bien con image_angle
Título: Re:Balas de ametralladora
Publicado por: Texic en Noviembre 17, 2012, 10:07:10 PM
No siempre tienen por qué mirar a la derecha, si miran arriba sería cuestión de restarle 90 a direction y si mira abajo sumarle 90
Título: Re:Balas de ametralladora
Publicado por: gamemastertom en Noviembre 17, 2012, 10:11:11 PM
Gracias a todos, ahora la ametralladora del personaje se ve mucho mejor.

Problema SOLUCIONADO
Título: Re:Balas de ametralladora [SOLUCIONADO]
Publicado por: DarkKRuleR en Noviembre 17, 2012, 10:18:30 PM
Cita de: Texic en Noviembre 17, 2012, 10:07:10 PM
No siempre tienen por qué mirar a la derecha, si miran arriba sería cuestión de restarle 90 a direction y si mira abajo sumarle 90

pero es más fácil que todos tus sprites miren a la derecha, así trabajas sabiendo que la dirección 0 es efectivamente la 0, la 90 es la 90, etc etc. Lo contrario es una complicación innecesaria ^^
Título: Re:Balas de ametralladora [SOLUCIONADO]
Publicado por: Texic en Noviembre 17, 2012, 10:49:09 PM
Obviamente sería una complicación innecesaria, pero se puede hacer, sólamente estaba refutando tu argumento
Cita de: DarkKRuleR en Noviembre 17, 2012, 10:01:25 PM
siempre deben mirar los sprites a la derecha para poder trabajar bien con image_angle
Ya que como verás aunque no miren a la derecha se puede trabajar bien con image_angle, es cuestión de igualar la orientación del sprite a 0 (restando 90 si es 90) xD
Hay que abrir la mente a todas las posibilidades y no cerrarse a "Esto tiene que hacerse así", es la clave para poder resolver los problemas de diferentes puntos de vista y no tratar de hacerlo desde uno solo (que podría no llevar al resultado más óptimo)
Título: Re:Balas de ametralladora [SOLUCIONADO]
Publicado por: Marron121 en Noviembre 18, 2012, 11:13:39 AM
Una pregunta, para que sirve la función delay? Me corroe la duda (aparte de que me podría servir para un nuevo juego que tengo en mente  8) jejeje)
Título: Re:Balas de ametralladora [SOLUCIONADO]
Publicado por: DarkKRuleR en Noviembre 18, 2012, 02:25:38 PM
Texic, tienes toda la razón, eso es aceptable y correcto, complicarse pero correcto xD
Marron, el delay que yo puse es una variable llamada Delay para que el algoritmo de disparo funcione, se le podría haber puesto cualquier otro nombre ^^ es una simple variable numérica. Si fuera una función sería delay(), o delay(blabla), etc