Check if your offsets for your sprite are all the same, also make sure your "spr_matthew_down" is the correct name of the sprite, or else you will be assigning a non-existent sprite to your object. Also, your movements for incrementing and decrementing variables are incorrect. You are making your player go down when you press left.
I have fixed your code below:
Code:
if (keyboard_check(vk_left))
{
sprite_index = spr_matthew_left;
x-=1;
}
if (keyboard_check(vk_right))
{
sprite_index = spr_matthew_right;
x+=1;
}
if (keyboard_check(vk_up))
{
sprite_index = spr_matthew_up;
y-=1;
}
if (keyboard_check(vk_down))
{
sprite_index = spr_matthew_down; //fix this? Your syntax highlighting is indicating there is no sprite by this name
y+=1;
}
What do you mean by teleporting? In what event is your code?