Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MinitorMazerV en Junio 19, 2013, 03:56:48 PM

Título: Como crear una Combinacion de Teclas
Publicado por: MinitorMazerV en Junio 19, 2013, 03:56:48 PM
Verán quisiera saber si hay forma de sumar 2 teclas(que no se presionan simultaneamente)
ejemplo si mi personaje Camina a la derecha(vk_right) y presiono para que ponga Defensa(vk_control);
quiero que mientras vk_right & vk_control estén presionados mi personaje se mueva a la Derecha con la Defensa Activa.

Cuando Suelte (vk_control); y (vk_right) siga presionado el personaje camine normal

Cuando Suelte (vk_right); y (vk_control) siga presionado el personaje se detenga con la defensa puesta.

Mi juego es isometrico aquí un ejemplo de mi código de Movimiento hacia.
if keyboard_check (vk_up)
{
sprite_index = sprPersonajeCaminanoArriba
direction = 90
image_speed = 0.5
speed = 5
}


Cualquier respuesta se agradece.
Título: Re:Como crear una Combinacion de Teclas
Publicado por: petpan13 en Junio 19, 2013, 04:54:54 PM
puedes probar asignado variables globales me explico pulsado arriva variable global mas 1 y pulsando espacio variable global mas dos  si variable global igual a tres acion no key variable global igual a cero ento obtendrias
una conbinacion de dos teclas
Título: Re:Como crear una Combinacion de Teclas
Publicado por: DustProductions en Junio 19, 2013, 08:39:19 PM
Operadores logicos, maybe?
No se si entiendo bien tu problema, pero si lo entiendo es MUY facil solucionarlo.

Simplemente pones:

if (keyboard_check(vk_up) && keyboard_check(vk_control)) //Se ejecuta si las DOS teclas estan pulsadas
{<codigo que quieras>}
if keyboard_check (vk_control)
{<codigo que quieras>}
if keyboard_check (vk_up)
{<codigo que quieras>}

Tambien puedes hacer lo siguiente:

if !keyboard_check(vk_control) //cuando NO se pulsa control
  if keyboard_check (vk_up){<codigo>} //cuando se pulsa arriba sin pulsar control
  else {<codigo>} //cuando no se pulsa ni control ni arriba (practicamente esto sobra, pero bueno xD)
else //cuando SI se pulsa control 
  if keyboard_check (vk_up){<codigo>} //cuando se pulsa control + arriba
  else {<codigo>} //cuando se pulsa control, pero no arriba

Espero que eso resuelva tu duda :)
Título: Re:Como crear una Combinacion de Teclas
Publicado por: MinitorMazerV en Junio 19, 2013, 09:46:46 PM
Muchas gracias por las respuestas y que velocidad.

RE:petpan13
Ya lo avía visto en un tutorial de juegos de peleas para guardar combos, lo voy a provar aver si resulta, por que lo ultimo que quería hacer era ponerlo en globales, como soy nuevo programando aun no puedo hacer muchos códigos.

RE:DustProductions
Voy a intentar el segundo código por que ya e probado con el primero && y tienes que pulsarlos al mismo tiempo sino no se ejecuta el comando y lo que yo quiero es que se pulse después,(cuando el jugador lo necesite)
Título: Re:Como crear una Combinacion de Teclas
Publicado por: MinitorMazerV en Junio 21, 2013, 01:47:15 AM
Cita de: petpan13 en Junio 19, 2013, 04:54:54 PM
puedes probar asignado variables globales me explico pulsado arriva variable global mas 1 y pulsando espacio variable global mas dos  si variable global igual a tres acion no key variable global igual a cero ento obtendrias
una conbinacion de dos teclas
Como seria la suma de valores Globales?
Un ejemplo por favor.
Título: Re:Como crear una Combinacion de Teclas
Publicado por: petpan13 en Junio 21, 2013, 08:47:59 PM
no vi lo del ejemplo aora miro aver pa ponerte codigo que tal te fue
Título: Re:Como crear una Combinacion de Teclas
Publicado por: petpan13 en Junio 21, 2013, 09:01:25 PM
orientativo no es codigo

Information about object: player
Sprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:

execute code:

globalvar direcion;
direcion = 1;

if direccion is equal to 5
      create instance of object ayuque at position (0,0)
Key Press Event for Key:

set variable direccion to 1
Key Press Event for Key:control

if direcion is equal to 4
      set variable direccion to 5
Key Press Event for Key:izq

if direcion is equal to 1
      set variable direcion to 2
Key Press Event for Key:derecha

if direcion is equal to 3
      set variable direccion to 4
Key Press Event for Key:abajo

if direcion is equal to 2
      set variable direccion to 3
Título: Re:Como crear una Combinacion de Teclas
Publicado por: superankes en Junio 25, 2013, 11:57:53 PM
mira lo que yo hize fue crer el code
if keyboard_check(vk_up) && keyboard_check(vk_space)

{ el objeto se moviera mas rapido o lo que quisiera }


fin :)