Hola Amigos  :D tengo una duda,estoy haciendo un juego de plataformas en  :GM8: y quiero hacer que cuando el jugador colisione con el acelerador salga rapido en dos direcciones izquierda o derecha dependiendo de donde colisione pero al hacerlo solo puedo ir a la derecha, no se como deberia escribirlo,mi codigo es este:
[spoiler]
hspeed=90;
speed=15;
with(other)instance_destroy();
[/spoiler]

Hola Chrom.

Primero que nada te doy unas recomendaciones para realizar un juego de plataformas.

-Utiliza variables como HSPD y VSPD y sumalas en el evento STEP como: x += HSPD y y += VSPD, para cambiar los valores solo haz esto, if (tecla_derecha) { hspd = 4; }.
Ahora, para aceleraciones puedes realizar lo siguiente:

if (place_meeting(x,y+1,obj_boost)) {
    if (direccion = "derecha")
    y += 12

    if (direccion = "izquierda")
    y -= 12
}

Todo esto en el evento STEP del personaje.
Te recomiendo definir la variable direccion, para poder hacer esto, cuando presiones el boton para ir a la derecha le asignas el valor de "Derecha" y lo mismo para la izquierda.
El còdigo de arriba, hace para que cuando PISES, osea colision y-1 se active el efecto, pero hay otra manera de hacerlo, esto es para poner un bloque donde sea, y sin la variable direccion.

if (place_meeting(x+1,y,obj_boost)) {
    y += 12;
    with (obj_boost) { instance_destroy(); }
}

if (place_meeting(x-1,y,obj_boost)) {
    y -= 12;
    with (obj_boost) { instance_destroy(); }
}

Este codigo checa colisiones depende de como venga el personaje, y aplica la aceleracion hacia la derecha o izquierda respectivamente. La función WITH debe tener OBJ_boost, porque con OTHER, puede que destruya el bloque sólido que lo esta deteniendo.

Tambien puedes lograr este efecto con la función trigonometrica TAN tangente, pero se hace un poco mas complejo.

Espero haberte ayudado.

Saludos :)

Muchas gracias, me ha servido, :D