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.
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
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 :)
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)
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.
no vi lo del ejemplo aora miro aver pa ponerte codigo que tal te fue
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
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 :)