Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: TheSquirrel en Octubre 03, 2010, 04:17:46 AM

Título: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 03, 2010, 04:17:46 AM
Como hago que un enemigo me siga, y que me apunte, osea que si yo estoy en el piso me dispare ai y que cuando yo estoy saltando tambien me dispare donde yo estoy saltando.
que la bala me siga. pero que se pueda esquivar
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 03, 2010, 05:18:02 AM
en el evento create
[gml]tiempo=15[/gml]

esto va en step
[gml]var a;
a=0
tiempo+=1

if distance_to_object(personaje_principal)<150 //si quieres cambia la distancia
{ if tiempo=>15{a=instance_create(x,y,obj_bala);
a.direction= point_direction(x,y,personaje_principa.x,personaje_principal.y) a.speed=8 tiempo=0}
if distance_to_object(personaje_principal)>20{
if personajeprincipal.x>x{if place_free(x+2,y){x+=2} else{vspeed=-4}}
if personajeprincipal.x<x{if place_free(x-2,y){x-=2} else{vspeed=-4}}
}}
[/gml]

no tienes que poner nada en el objeto que es la bala
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 03, 2010, 11:07:36 PM
entonces como dispara?
ahora lo pruebo (:
EDITO!
el personaje si dispara, pero me sigue sin parar . ademas hay un momemtno en que desaparece.
ademas me detectaba un error en el codigo y tuve que cambiar un cosa (el signo <)
Edito!
se me olvido adjuntar el archivo
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 03, 2010, 11:10:40 PM
donde dice instance_create(x,y,obj_bala)
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 03, 2010, 11:22:01 PM
Si, no me habia fijado en ese detalle de la bala  :-[
el problema es que todavia tiene errores  :'( trate de cambiar el codgio pero no , nopude
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 03, 2010, 11:33:08 PM
Los enemigos desaparecen por una razon muy tonta y valida,
las mismas balas q crean pueden destruirlos a ellos, se matan solos!!! xDDDD
te recomiendo hacer otro obj por ejemplo
obj_beam_enemy para las balas de los enemigos! si son distintas a las balas del player mejor, ya q en la jugabilidad seria raro ver las mismas balas por todos lados, normalmente el player tiene distintas las balas
otra cosa pusiste tiempo =<15 tenes q poner tiempo<15 no =
espero te sirva :)
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 03, 2010, 11:38:20 PM
Whahahahahah ! no lo habia pensado ! xDDD! ahora lo arreglo...  :-[
ERROR in
action number 1
of  Step Event
for object obj_arm:

Error in code at line 1:
   if mouse_x>obj_soldier.x {x=obj_soldier.x+1} else {x=obj_soldier.x-1}
                         ^
at position 24: Unknown variable x
Solucionado el problema
tengo otro ahora
como hago que me "detecten" y luego me disparen, por que cuando comienza el juego ya me estan disparando entonces muero altiro.
y ade3mas como hago que este en una distanca mayor al personaje.
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 03, 2010, 11:44:37 PM
Ok!! ^^ cualquier cosa te contesto en menos de un segundo xD
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 12:28:43 AM
Ayuuda!
Solucionado el problema
tengo otro ahora
como hago que me "detecten" y luego me disparen, por que cuando comienza el juego ya me estan disparando entonces muero altiro.
y ade3mas como hago que este en una distanca mayor al personaje.
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 12:36:22 AM
Para q esten mas lejos ponlos mas lejos en la room xDDDDDDD
para q los disparos sean mas lentos ps bajales la speed! asi te da tiempo a eskivar!
y para lo del enemigo te recomiendo leer este post:
http://www.comunidadgm.org/index.php?topic=10709.0
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 12:48:56 AM
mira el errore que tengo, la bala se queda pegada (con el link que me dijiste tu gunsalito.
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 01:01:37 AM
Muy facil amiguito, simplemente ve al objeto Beam_enemy pon un event create y pon un code que diga speed=(la velocidad que quieras)
con un 2 estaria bien :)
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 01:15:21 AM
Citarvar a;
a=0
tiempo+=1

if distance_to_object(personaje_principal)<150 //si quieres cambia la distancia
{ if tiempo=>15{a=instance_create(x,y,obj_bala);
a.direction= point_direction(x,y,personaje_principa.x,personaje_principal.y) a.speed=8 tiempo=0}
if distance_to_object(personaje_principal)>20{
if personajeprincipal.x>x{if place_free(x+2,y){x+=2} else{vspeed=-4}}
if personajeprincipal.x<x{if place_free(x-2,y){x-=2} else{vspeed=-4}}
}}
y con el codigo que copie de burnox, donde pongo que la imagen se invierta cuadno obj_soldier este a la izquierda de obj_enemy.
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 01:29:45 AM
lo mejor que podrias hacer (va para mi lo mas sencillo)
es usar variables
si el enemigo tiene tanta hspeed la variable enemydir (por ejemplo) cambie
un ejemplo facil seria:

if hspeed=4
change_sprite=enemy_right
else
change_sprite_enemy_left
(esto si tenes dos sprites SI NO USAS DOS SPRITES PARA IZQ O DERECHA
utiliza el codigo image_xscale= 1 (derecha) o -1 (izquierda)
eso hace q transforme tu sprite a tal direccion.

con variables seria algo asi

if hspeed=4
enemydir = 1
else
enemydir = 0

-----
if enemydir = 1
(aqui el sprite
y/o el image_xscale
else
(aqui el sprite
y/o el imagex_scale del otro angulo
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 01:35:47 AM
es para solo una sprite , entonces es mejor usar image_xscale = 1 y image_xscale = -1 (creo que era 1 y -1) pero no se donde debo ponerlo en el codigo que puse antes :S
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 01:49:34 AM
si es 1 y -1 y debes ponerlo en el evento step del objeto que quieras que utilize el image_xscale
en este caso el del enemigo y el de la bala (para que los dos salgan en buena direccion)
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 01:54:43 AM
pero como? como quedaria que todavia nose usar bien el gml, sobre todo los images_xscale
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 01:55:53 AM
Nop no fue doble post xD
kb kb jajaja xDDDD
mira... no deberias poner nada... xq??? a tu sprite de ENEMY hazle una flechita. hacia la derecha, y dime que es lo q sucede (TAMBIEN CENTRALO) =P
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 02:04:34 AM
No gira. se queda igual , ademas la bala tampoco gira sale super deforme. te adjunto mi juego pare que enteindas mejor.
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 02:29:14 AM
ahi edite para que veas mi archivo adjunto
edit
chuta me equivoque , disculpa por el doble post :S
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 04, 2010, 03:18:55 AM
Te dejo adjunto el archivo reparado, lo que hice:

var a;
a=0
tiempo+=1

if distance_to_object(obj_soldier)<150 //si quieres cambia la distancia
{ if tiempo>15{a=instance_create(x,y,obj_beam_enemy);
a.direction= point_direction(x,y,obj_soldier.x,obj_soldier.y) a.speed=8 tiempo=0}
if distance_to_object(obj_soldier)>20{
if obj_soldier.x>x{if place_free(x+2,y)
{x+=2; image_xscale=-1;} <----- agregue esto aqui
else
{vspeed=-4;}}
if obj_soldier.x<x{if place_free(x-2,y)
{x-=2; image_xscale=1;} <---- agregue esto aqui
else
{vspeed=-4}}
}}


y listo!!! ah arregle un poco el sprite para q se entienda mejor :P
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 04, 2010, 03:26:32 AM
reparado
solo cambia el codigo por este
[gml]
var a;
a=0
tiempo+=1

if distance_to_object(obj_soldier)<150 //si quieres cambia la distancia
{ if tiempo>=30{a=instance_create(x,y,obj_beam_enemy);
a.direction= point_direction(x,y,obj_soldier.x,obj_soldier.y) a.speed=8 tiempo=0}
if distance_to_object(obj_soldier)>20{
if obj_soldier.x>x{if place_free(x+2,y){x+=2} else{vspeed=-4} image_xscale=-1}
if obj_soldier.x<x{if place_free(x-2,y){x-=2} else{vspeed=-4} image_xscale=1}
}}[/gml]

y otra pregunta porque tu juego no tiene gravedad?
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 04, 2010, 03:43:00 AM
si tiene , solo que los enemigos no xD
todavia ai un problema , las balas
esta en el archibo adjunto anteriomente
adjunto de nuevo el repair de guns y revice el codigo burnox es el mismo gracia, espero que me ayudes con este asunto de la balas que no giran, osea no se ven bien.
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 04, 2010, 11:37:18 PM
simplemente quita el codigo que tienen las balas rojas en el evento step y pon esto [gml]image_angle=direction[/gml]
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 05, 2010, 12:45:09 AM
y como hago qeu cuadno este quieto este en spr_enemigo_stand y cuando camine este en spr_enemigo_walk
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 05, 2010, 10:36:11 PM
as?  :D
[gml]var a;
a=0
tiempo+=1

if distance_to_object(obj_soldier)<150 //si quieres cambia la distancia
{ if tiempo>=30{a=instance_create(x,y,obj_beam_enemy);
a.direction= point_direction(x,y,obj_soldier.x,obj_soldier.y) a.speed=8 tiempo=0}
if distance_to_object(obj_soldier)>20{
sprite_index=spr_enemigo_walk
if obj_soldier.x>x{if place_free(x+2,y){x+=2} else{vspeed=-4} image_xscale=-1}
if obj_soldier.x<x{if place_free(x-2,y){x-=2} else{vspeed=-4} image_xscale=1}
}else{sprite_index=spr_enemigo_stand}}else{sprite_index=spr_enemigo_stand}[/gml]
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 06, 2010, 03:24:20 AM
tengo un problema, es que ahora a los enemigos le puse gravedad, pero ahora no se mueven
me ayudan drasticamente, saben tiene mucho problemas, no puedo girar la bala ni el personaje, no puedo poner gravedad.. que mas? por favor.
adjunte mi archivo antes en unos comentarios anteriores por favor lo pueden editar que no lopuedo arreglar
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 06, 2010, 04:59:04 AM
no te entendi en nada pero aqui esta tu juego con gravedad
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 06, 2010, 11:16:13 PM
nada entendiste, en todo me ayudaste! gracias man! me salvaste y muchas gracias por poner eso de que salta barreras!
Por cierto, conocen como hacer que por ejemplo
le pongo un brazo y eso gira segun donde sale la bala.
cree un objeto que se llama obj_arm_enemy pero no funciona, adentro le puse este codigo.
if mouse_x>obj_enemy.x {x=obj_enemy.x+1} else {x=obj_enemy.x-1}
y=obj_enemy.y-2

direction=point_direction(x,y,obj_beam_enemy.x,obj_beam_enemy.y)
image_angle=direction

if direction>90 and direction<270 image_yscale=-1 else image_yscale=1
Título: Re: ayuda con disparo de enemgio
Publicado por: brunoxzx en Octubre 06, 2010, 11:34:19 PM
a tu braso le pones

[gml]image_angle=point_direction(x,y,obj_soldier,x,obj_soldier,y)[/gml]

creo
Título: Re: ayuda con disparo de enemgio
Publicado por: TheSquirrel en Octubre 07, 2010, 03:13:29 AM
Si funciona, el problema ahora es que :
como puedo que se mueva junto a obj_enemy
+ que cuando obj_enemy sea destruido obj_enemy_arm tambien.
eso (:
Título: Re: ayuda con disparo de enemgio
Publicado por: Gunslito en Octubre 07, 2010, 05:37:51 AM
Haz lo mismo que hiciste con el arm y el obj soldier, en el enemy, y si quieres q ambos se destruyan agrega el event destroy en el enemy y pon q destruya la instancia arm del enemy
Título: Re: ayuda con disparo de enemgio
Publicado por: shaoran en Octubre 07, 2010, 03:03:26 PM
No se permiten tantas preguntas en el mismo hilo.Si tienes otra duda crea un nuevo tema.
Preguntas y respuestas: qu? es y c?mo funciona (http://www.comunidadgm.org/index.php?topic=18.0)
Tema Cerrado