#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)
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