Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: salvadords en Febrero 16, 2011, 07:10:12 PM

Título: [AYUDA] men? para juego de pelea por turnos
Publicado por: salvadords en Febrero 16, 2011, 07:10:12 PM
hola! tengo una duda enoooorme xD y no puedo esperar a que mi amigo se conecte para solucionarla :P bueno, quiero hacer un juego por turnos para un foro, y lo primero que quer?a hacer era el men? de batalla :P tiene las opciones:

-Pelea (atacas cuerpo a cuerpo o con un arma)
-T?cnica (usas una habilidad especial)
-Objeto (usas un objeto curativo de ataque etc.)
-Correr (corre! xD)
-Overkill (le haces un tributo de sangre a tu dios y te concede una habilidad especial por un turno)

bueno, me explicaron que para hacer el men? tengo que primero crear el objeto men?, en mi caso es obj_menu en el puse un evento create con la accion execute a piece of code:

[gml]indice=0//indica en que seccion empiesa (en pelea)
instance_create(x+4,y+5,obj_boton_pelea)//crea bot?n pelea
instance_create(x+4,y+23,obj_boton_tecnica)//crea bot?n t?cnica
instance_create(x+4,y+45,obj_boton_objeto)//crea boton objeto
array[0]=obj_boton_pelea
array[1]=obj_boton_tecnica
array[2]=obj_boton_objeto
array[indice].sprite_index=array[indice].seleccionado;
pm=true[/gml]

bueno ese es el create del objeto menu, aqu? esta el evento alarm:

[gml]pm=true[/gml]

y aqu? los eventos de teclas

UP:
[gml]if(pm==true)
{
  if(indice<1)
  {
    array[indice].sprite_index=array[indice].normal;
    indice+=1
    array[indice].sprite_index=array[indice].seleccionado;
  }
  else
  {
    array[indice].sprite_index=array[indice].normal;
    indice=0;
    array[indice].sprite_index=array[indice].seleccionado;
  }
  pm=false;
  alarm[0]=5
}[/gml]

DOWN:
[gml]if(pm==true)
{
  if(indice>0)
  {
    array[indice].sprite_index=array[indice].normal;
    indice-=1
    array[indice].sprite_index=array[indice].seleccionado;
  }
  else
  {
    array[indice].sprite_index=array[indice].normal;
    indice=1;
    array[indice].sprite_index=array[indice].seleccionado;
  }

  pm=false;
  alarm[0]=5
}[/gml]

Z:
[gml]with(array[indice])
{
  event_user(0);
}[/gml]

bueno esos son los eventos, los saque de un ejemplo qu me dio mi amigo xD es knd y bueno, me dijo que para que pueda seleccionar los otros botones le tengo que cambiar el ?ndice pero no se como se hace Dx espero me sepan responder, see ya
Título: Re: [AYUDA] men? para juego de pelea por turnos
Publicado por: DarkKRuleR en Febrero 16, 2011, 11:43:19 PM
Mucho c?digo, objetos, arrays y jaleos para algo muy simple, creo. Mira el ejemplo que hice, segun lo que me dijiste, deber?a hacer lo mismo: seleccionar opciones de un men?, con las flechas, y con enter aceptas. Al pulsar enter salen mensajes, ahi, pondr?as los codigos para hacer la acci?n determinada.

Es simple, facil y eficaz, y mejorable. Si quieres que, en lugar de seleccionar con una >>> la opci?n, salgan con sprites, se puede hacer igual que est? el ejemplo cambiando unas cosillas. Pero no hace falta tantos objetos ni arrays para hacer un simple men?, creo yo..