Buenas noches, dias o tardes, estoy haciendo un juego de plataformas en el game maker 8 y encontre un engine de colisiones perfectas que maneja el movimiento y la gravedad con algoritmos propiedad de SP_Christian y ya aprendi a usarlo sin mirar el engine.
(Todo en el evento step)
Left=keyboard_check(ord('A'))
Up=keyboard_check(ord('W'))
Right=keyboard_check(ord('D'))

repeat (abs(xvel)){
if place_meeting(x+sign(xvel),y,obj_Wall) break;
x+=sign(xvel)
}
repeat (abs(yvel)){
if place_meeting(x,y+sign(yvel),obj_Wall) break;
y+=sign(yvel)
}
if Left
{
    xvel=8
}
if Right
{
    xvel=-8
}
if !Left && !Right
{
    xvel=0
}
if Left && Right
{
    xvel=0
}
if place_meeting(x,y+1,obj_Wall)
{
    ground=1
    yvel=0
}
else
{
    ground=0
    yvel+=0.3
}
if up && ground
{
    yvel=-6
}

Saludos y gracias de antemano


Cita de: romon_28 en Julio 27, 2015, 03:40:38 PM
¿A que le llamas salto gradual espesificamente?
Muchas gracias por contestar, me refiero a como un juego de mario bros que depende del tiempo en el que se aprete la tecla del salto, salte mas alto o mas bajo
Saludos

SOLO PON ESTE CODIGO AL FINAL DEL CODIGO...
[gml]
if (keyboard_check_released(ord("W")) and yvel<0)yvel+=(abs(yvel/2));
[/gml]

NOTA: Prueba cambiar el "2" por 1.5 o otro numero, ve probando cual sale mejor...   :D  :D  :D
- Empty -

Cita de: Yoo en Julio 29, 2015, 12:41:56 AM
SOLO PON ESTE CODIGO AL FINAL DEL CODIGO...
[gml]
if (keyboard_check_released(ord("W")) and yvel<0)yvel+=(abs(yvel/2));
[/gml]

NOTA: Prueba cambiar el "2" por 1.5 o otro numero, ve probando cual sale mejor...   :D  :D  :D
Muchas gracias si me sirvio!!! 8)