Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: J.E.A en Agosto 11, 2010, 07:21:33 PM

Título: Como checkear que se apretan dos teclas y hacer tal accion? (Solucionado)
Publicado por: J.E.A en Agosto 11, 2010, 07:21:33 PM
Quisiera saber como puedo que al presionar por ejemplo el boton de salto y a la vez el boton de la direccion con la que se mueve el personaje estando en el aire, por ej: la tecla de la Derecha. Quisiera hacer que acelere la velocidad al estar en el aire. Ojala me entiendan.
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion?
Publicado por: slampdesign en Agosto 11, 2010, 07:47:51 PM
Creo que eso se hace con los eventos triggers... :-[ lei en los articulos de aqui y aparecia algo similar
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion?
Publicado por: MRafX en Agosto 11, 2010, 08:31:36 PM
podrias intentar asi:

//en step
if keyboard_check_pressed("letra") and keyboard_check_pressed("otra letra")
{"la accion"}
code]
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion?
Publicado por: J.E.A en Agosto 11, 2010, 10:03:58 PM
No pude, ya le habia asignado las teclas en los eventos, se puede poner eso igual en step?
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion?
Publicado por: J.E.A en Agosto 11, 2010, 10:54:04 PM
Lo acabo de poner asi pero esta como si nada je:

En Step lo puse asi:

if keyboard_check_pressed(vk_right) and keyboard_check_pressed(vk_space) and gravity=0.4

hspeed=7


if keyboard_check_pressed(vk_left) and keyboard_check_pressed(vk_space) and gravity=0.4

hspeed=-7


En los eventos tengo el press left y el press right. Me convendria sacar estos eventos y ponerlos en step con codigo arriba del codigo que me dieron? o esta bien puesto en el evento los press left y press right?


Título: Re: Como checkear que se apretan dos teclas y hacer tal accion? (Ayuda)
Publicado por: MRafX en Agosto 11, 2010, 11:30:51 PM
lo que pasa es que este codigo solo sirve si apretas las dos teclas  exactamente a la vez :-[
pero si lo que quieres es que se apretar una y luego la otra podrias intentar asi

//en create
"variable1"=0
"variable2"=0
"variable3"=0
//en step
//este es para que aga lo que quieres
if keyboard_check_pressed(vk_space)
{"variable1"=1}
PD:espero te sirva XD
if keyboard_check_pressed(vk_left)
{"variable2"=1}
if keyboard_check_pressed(vk_right)
{"variable3"=1}
if "variable2"=1 and "variable1"=1
{hspeed=-7}
if "variable3"=1 and "variable1"=1
{hspeed=7}
//este regresa las variables a 0
if keyboard_check_released(vk_space)
{"variable1"=0}
if keyboard_check_released(vk_left)
{"variable2"=0}
if keyboard_check_released(vk_right)
{"variable3"=0}


el error de este es que al contrario si quitas las 2  a la vez se queda pegado
XD pero eso se solucina facil
pones este enves de lo ultimo de variables a 0:
if keyboard_check_released(vk_space)
{variable1=0 speed=0}
if keyboard_check_released(vk_left)
{variable2=0 speed=0}
if keyboard_check_released(vk_right)
{variable3=0 speed=0}
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion? (Ayuda)
Publicado por: Texic en Agosto 11, 2010, 11:33:46 PM
Noo, q quilombo q te hiciste  XD
if keyboard_check(vk_right) and keyboard_check(vk_space) and gravity=0.4
{
hspeed=7
}
if keyboard_check(vk_left) and keyboard_check(vk_space) and gravity=0.4
{
hspeed=-7
}

Con eso deber?a bastar, y no interfiere de ninguna manera con los eventos que tengas de dichas teclas
Título: Re: Como checkear que se apretan dos teclas y hacer tal accion? (Ayuda)
Publicado por: J.E.A en Agosto 12, 2010, 04:17:42 PM
Gracias Texic, me funciono perfecto! entonces era que ponia algo mal  XD

Gracias MrafX, voy a tener en cuenta tu codigo, tal vez lo use para otro nuevo proyecto  8)