Mayo 14, 2014, 11:57:39 PM Ultima modificación: Mayo 15, 2014, 12:05:18 AM por chute666
hola chicos aki sigo con mis dudas xD
os cuento mi juego sera para android xfin tengo los botones estaticos etc... tengo uno que sera para los ataques basicos pero tambien para ibteractuar... quiero que al acer click en un enemigo este quede seleccionado... o que al darle al dicho boton seleccione al enemigo mas cercano... para que mi pj no ataque al aire como ouedo acerlo?
El limite lo pone nuestra imaginacion

chicos podeis ayudarme? sigo sin encontrar la solucion...
lo unico que se me ocurrio fue que al tener seleccionado se creara el sprite (un circulo para saver cual esta seleccionado) pero aun no se como seleccionar... ni clikeando sovre el ni como acerlo con el boton virtual del ebemigi mas cercano
El limite lo pone nuestra imaginacion

Amigo podrías ser mas especifico?, todavía no entiendo bien que es lo que quieres lograr...
.:RoskGames:.

por ejemplo... hay 4 enemigos... pues hacer clixk en uno y que este quede seleccionado para que los ataques que realice afecten a este enemigo...o oulsar mi boton.. (virtual key.. k tambien es el boton de ataques basicos) y que me seleccione al enemigo mas cercano si no hay nadie seleccionado... para que mi pj no ataque al azar, mi juego es tipo tibia.. tibiame.. twom.. etc
El limite lo pone nuestra imaginacion

Bueno primero le asignaría una variable a cada enemigo, al darle click a uno se activa su variable y desactiva las variable de los otros, luego si esa variable es verdadera haces lo que quieras hacer, trata de aplicarlo a tu proyecto a ver como te va y me avisas, suerte! :D
.:RoskGames:.

buuff hahaha soy bastante nuevo en esto jejeje creo que ebtiendo lo que quieres decir pero nose como llevarlo a cabo...
seria crear una variable llamada x ejemplo seleccion.. y cuando esta esta true se le pueda atacar... y cuando no  pues no jajaja
pero como llevo eso a la practica?  pongo en el enemigo un evento left pressed con un evento var llamado asi? o como?
El limite lo pone nuestra imaginacion

Cita de: chute666 en Mayo 15, 2014, 08:51:35 PM
buuff hahaha soy bastante nuevo en esto jejeje creo que ebtiendo lo que quieres decir pero nose como llevarlo a cabo...
seria crear una variable llamada x ejemplo seleccion.. y cuando esta esta true se le pueda atacar... y cuando no  pues no jajaja
pero como llevo eso a la practica?  pongo en el enemigo un evento left pressed con un evento var llamado asi? o como?

Mira este ejemplo, la mecánica no es exactamente igual a lo que buscas, pero te da una idea de cómo seleccionar y qué eventos usar.
http://www.comunidadgm.org/preguntas-y-respuestas/(-dudaayuda-)-seleccionar-y-perseguir-personaje/msg95945/#msg95945

Cita de: chute666 en Mayo 15, 2014, 08:51:35 PM
buuff hahaha soy bastante nuevo en esto jejeje creo que ebtiendo lo que quieres decir pero nose como llevarlo a cabo...
seria crear una variable llamada x ejemplo seleccion.. y cuando esta esta true se le pueda atacar... y cuando no  pues no jajaja
pero como llevo eso a la practica?  pongo en el enemigo un evento left pressed con un evento var llamado asi? o como?

Ahm... Si, por ejemplo:

//Jugador: Create
  Enem1 = false
  Enem2 = false
  Enem3 = false

//Enemigo1: mouse Left
  Enem1 = true
  Enem2 = false
  Enem3 = false

//Enemigo2: mouse Left
  Enem1 = false
  Enem2 = true
  Enem3 = false

//Enemigo3: mouse Left
  Enem1 = false
  Enem2 = false
  Enem3 = true

//Jugador: Step
   if Enem1 = true
      {
      //acciones
      }
    if Enem2 = true
      {
      //acciones
      }
     if Enem3 = true
      {
      //acciones
      }
   


Algo así quedaría tu código, de todas maneras mira el ejemplo que te dejo el compañero arriba o, mira el manual de GM en la sección de Inicio, saludos.
.:RoskGames:.

@rogerskate tu ejemplo funciona seguramente, pero tener una variable por cada enemigo, y un if por cada enemigo hace que el código se extienda mucho si hay muchos enemigos en la habitación. Se puede usar una sola variable para indicar cualquier enemigo en específico.

Cita de: penumbra en Mayo 15, 2014, 10:12:38 PM
@rogerskate tu ejemplo funciona seguramente, pero tener una variable por cada enemigo, y un if por cada enemigo hace que el código se extienda mucho si hay muchos enemigos en la habitación. Se puede usar una sola variable para indicar cualquier enemigo en específico.

Tienes razón, entonces sería algo como que:
enem = [1..3]
y ponerle las condiciones a cada uno, o usar un script y llamarlo al hacer click, así evita enredarse y tener que estarlos buscando uno por uno.
.:RoskGames:.

dedidme si me equivoco :

tengo que crear una variable en caba obj que sea un enemigo y llamar a esa variable enemigo.
crear un evento d mouse y poner:
id_enemigo = instance_position(mouse_x,mouse_y,obj_enemigo)\\ en este objenemigo pongo el objeto del enemigo que  sea x ejemplo obj_serpiente etc...


en el virtual key de los ataques basicos
evento create:
id_enemigo.vida-=5

seguramnte me equivoque en que evento crearlo o algo puse mal... pero esque tampoco quiero que me digais como es que si no nunca aprendere... prefierosaver el porque se hacen las cosas, x eso ice esto y si esta mal que me corrijais gracias
El limite lo pone nuestra imaginacion

Fácil, léete el manual en la sección de sentencias y variables, mira ejemplos y vídeos explicativos de youtube, así comencé yo.
.:RoskGames:.

#12 Mayo 15, 2014, 11:12:39 PM Ultima modificación: Mayo 15, 2014, 11:22:37 PM por penumbra
Cita de: chute666 en Mayo 15, 2014, 10:35:14 PM
dedidme si me equivoco :

tengo que crear una variable en caba obj que sea un enemigo y llamar a esa variable enemigo.
crear un evento d mouse y poner:
id_enemigo = instance_position(mouse_x,mouse_y,obj_enemigo)\\ en este objenemigo pongo el objeto del enemigo que  sea x ejemplo obj_serpiente etc...

vas bien, esa es la idea, pero no es necesario crear una variable en cada objeto enemigo. Si quieres, la variable id_enemigo la puedes declarar en el objeto jugador (o en un objeto controlador, si lo prefieres). La función instance_position la estás usando bien, es decir, sí se usaría en un evento de click del ratón, y devolverá el identificador de instancia del enemigo. Ese identificador lo puedes usar después en cualquier objeto jugador para referirte al enemigo seleccionado (por eso conviene hacer global a la variable id_enemigo.

por ejemplo, si hubiera un objeto obj_seleccion, que tuviera asociado el sprite spr_aro. El spr_aro sirve para identificar que enemigo seleccionaste. Entonces en el obj_seleccion, para seguir al enemigo seleccionado [STEP]

if instance_exists(id_enemigo)
{
     x = id_enemigo.x
     y = id_enemigo.y
}

Y el aro seguiría al enemigo  seleccionado mientra existiera en la habitación, y se cambiariá automaticamente a otro enemigo cuando se eligiera otro... (obvio  XD)


e tenido que escrivirlo en el ordenador y pasarlo al movil para que vierais lo que me pasa:
El limite lo pone nuestra imaginacion

sigo aqui provando y fallando para allar la solucion y en lo que estoi fallando...
en el evento step del obj_seleccionar  e pyesto esto:
if instance_exists(id_enemigo)
{x = id_enemigo.x
y=id_enemigo.y
sprite_get_texture(spr_seleccionar1,0)
}
=================
tambien e provado con draw_sprite...
nose si el metodo que use para seleccionar esta bien o no porque no puedo ver el sprite ... seguire provando metodos jejehe
El limite lo pone nuestra imaginacion