Помогите пожалуйста решить проблему с зацеплением игрока за кольцо.
Как должно быть:
При прыжке на кольцо игрок должен зацепиться за кольцо на уровне своей головы. Если нажать ПРОБЕЛ, игрок должен прыгнуть в верх. Если игрок Падает на кольцо с верху, то он должен зацепиться за кольцо на уровне своей головы.
Пример в картинках:
1 рис. - Игрок прыгнул с низу, и зацепился за кольцо на уровне своей головы.
2 рис. - Игрок прыгнул от кольца в верх.
3 рис. - Игрок упал сверху и зацепился за кольцо (зацепился на уровне своей головы).
Код
if(place_meeting(x, y-1, ZAC_Kolco)){
vspeed = 0;
hspeed = 0;
if(keyboard_check(ord("A")) || keyboard_check(ord("D"))){
x = xprevious;
y = yprevious;
};
if(keyboard_check(vk_space)){
vspeed = -15;
};
if(keyboard_check(ord("S"))){
vspeed = 12;
};
};
На рисунке выделил спрайт "ZAC_Kolco" (голубой прямоугольник)
Проблема заключается в следующем:
1. Когда игрок зацепился за кольцо, и если нажать на ПРОБЕЛ (что бы прыгнуть) то игрок поднимается в верх по кольцу (как по лестнице) и не выпрыгнет из кольца пока не выйдет из него полностью своими ногами.
2. Если Игрок упадет на кольцо с верху, то он зацепляется за кольцо (встает на кольцо) ногами, а надо что бы он зацепился за кольцо на уровне своей головы.