#Please help me!!! How do I make the player stop in collisions (the problem is that I use the Y axis)

7 messages · Page 1 of 1 (latest)

maiden zenith
#

Could you share your code regarding collisions?

#

Try changing vMove = keyUp + keyDown; to vMove = ySpeed * (keyUp + keyDown);?

#

Hmmm

#
keyUp = -keyboard_check(ord("W"));
keyDown = keyboard_check(ord("S"));

if (place_meeting(x + xSpeed, y,oWall)) {
    xSpeed = 0
}

if (place_meeting(x, y + ySpeed,oWall)) {
    ySpeed = 0
} else {
    ySpeed = moveSpeed;
}

vsp = ySpeed * (keyUp + keyDown);
``` What about this?
#

How did this code run without having set xSpeed?

#

Oh wait, I didn't see the y += vsp; here, the Step code should be

keyUp = -keyboard_check(ord("W"));
keyDown = keyboard_check(ord("S"));

if (place_meeting(x + xSpeed, y,oWall)) {
    xSpeed = 0
}

if (place_meeting(x, y + ySpeed,oWall)) {
    ySpeed = 0
} else {
    ySpeed = moveSpeed;
}

vsp = ySpeed * (keyUp + keyDown);

y += vsp;
#
keyUp = -keyboard_check(ord("W"));
keyDown = keyboard_check(ord("S"));

if (place_meeting(x + xSpeed, y,oWall)) {
    xSpeed = 0
}

if (place_meeting(x, y + vsp,oWall)) {
    ySpeed = 0
} else {
    ySpeed = moveSpeed;
}

vsp = ySpeed * (keyUp + keyDown);

y += vsp;
``` This maybe? Not 100% sure