Pues eso,me gustaria hacer una gravedad similar a que si estubieras flotando en el espacio(que te muevas lento y un poco descontrolado,que caigas muy despacio),espero que lo entendais
Pues puedes hacerlo de esta forma en el step de tu personaje:
if (keyboard_check(vk_right)){
x+=2;
}
if (keyboard_check(vk_left)){ //los movimientos hacia los lados tienen que ser lentos por obvias razones XD
x-=2;
}
if (keyboard_check_pressed(vk_space)){ //puedes modificar la velocidad del salto a tu gusto
vspeed = -8;
}
y en el evento end step
if (place_free(x,y+1)){ //si el personaje esta en el aire
if (vspeed < 0){ //si esta saltando se activa la gravedad para que se frene
gravity = 0.2;
gravity_direction = 270;}
else vspeed = 2; //de lo contrario si estas cayendo estableces una velocidad fija de caida
}
Puedes modificar las constantes a como se te acomode mejor a lo que quieres.
En el efecto de inestabilidad se me ocurre que modifiques el angulo de tu sprite cuando este en el aire con image_angle y tratar de darle el efecto deseado o bien haciendo un sprite para este.
Probablemente existen mejores formas de lograr un efecto mucho mas pulido, yo solo te doy una manera sencilla.
Saludos...
Si marcas tu room y objetos para que use físicas tienes mucha facilidad para hacer esto, aunque deberias hacer que los objetos importantes todos usaran fisicas propias del GMS.
Cita de: woolf7 en Abril 27, 2015, 05:54:41 AM
Pues puedes hacerlo de esta forma en el step de tu personaje:
if (keyboard_check(vk_right)){
x+=2;
}
if (keyboard_check(vk_left)){ //los movimientos hacia los lados tienen que ser lentos por obvias razones XD
x-=2;
}
if (keyboard_check_pressed(vk_space)){ //puedes modificar la velocidad del salto a tu gusto
vspeed = -8;
}
y en el evento end step
if (place_free(x,y+1)){ //si el personaje esta en el aire
if (vspeed < 0){ //si esta saltando se activa la gravedad para que se frene
gravity = 0.2;
gravity_direction = 270;}
else vspeed = 2; //de lo contrario si estas cayendo estableces una velocidad fija de caida
}
Puedes modificar las constantes a como se te acomode mejor a lo que quieres.
En el efecto de inestabilidad se me ocurre que modifiques el angulo de tu sprite cuando este en el aire con image_angle y tratar de darle el efecto deseado o bien haciendo un sprite para este.
Probablemente existen mejores formas de lograr un efecto mucho mas pulido, yo solo te doy una manera sencilla.
Saludos...
Muchas Gracias!!cuando llegue a casa lo probare haber si funciona
Hola Amigo !! Aqui te dejaré una solucion simple :)
en el objeto jugador has lo siguiente:
step_event: abre un execute code, escribe esto:
gravity_direction = 270;
{
if place_free(x,y+1)
{gravity = 1} (MIENTRAS MENOR SEA EL NUMERO, MAS LIVIANO SERÁ EL JUGADOR)
else
gravity = 0
y para moverte pon
if keyboard_check(vk_right)
{ if place_free(x+4,y)
{x += 4}
}
if keyboard_check(vk_left)
{if place_free(x-4,y)
{x -= 4}
}
Listo !!
Por Pregunta sobre este tema o otras dudas que tengas, te hago saber que me llamo Luiber Extrenzas en Facebook, AGREGAME! yo aqui te dejo el Link, cuando quieras, a las ordenes (Y)
https://www.facebook.com/profile.php?id=100008220635391