Arreglado.
Utiliza la función keyboard_check_pressed si quieres que el código se ejecute únicamente al presionar la tecla o keyboard_check_released para que lo haga al soltarla, keyboard_check se ejecuta en todo momento en el que la tecla se encuentre presionada. Saludos
La Solucion que progongo:
Create Event:
salto = 0;
Step Event:
/// @description Insert description here
// You can write your code in this editor
//colision con el suelo:
if (instance_place(x,y,suelo) || instance_place(x,y,suelo)){
vspeed = 0;
gravity = 0;
salto = 0;
}
//moverse derecha
if keyboard_check(vk_right)
{
x += 10
}
//moverse izquierda
if keyboard_check(vk_left)
{
x -= 10
}
//sin moverse
if(vk_nokey)
{
hspeed = 0
vspeed = 0
}
//solo puedes saltar dos veces
if keyboard_check_pressed(vk_up)
{
salto += 1
if salto <= 2
{
vspeed = -10
gravity=1
}
}
if keyboard_check(vk_down)
{
if (instance_place(x,y,suelo) || instance_place(x,y,suelo)){
vspeed = 0;
gravity = 0;
salto = 0;
}
else
{
vspeed = 10
gravity=1
}
}
//Límite de la velocidad vertical. Evita que el objeto caiga a una velocidad cada vez mayor
if (vspeed >= 12)
{
vspeed = 12;
}
Bueno, espero y te sirva, Saludos ;) .