所以我最近一直在尝试在触碰物体时从一个房间移动到另一个房间,因为我刚为游戏制作了这个卧室,并且我试图在触碰到精灵底部时进入另一个房间。我稍后会放一张图片(图片质量较低,因为我没有截图,而且精灵很小)。以下是我的全部代码:

var move_x = 0;
var move_y = 0;

sprite_index = spr_ani_plr5;

image_speed = 1;

if (keyboard_check(vk_right) == true) {
   move_x += 1;
sprite_index = spr_ani_plr1;
image_speed = 1;
}
if (keyboard_check(vk_left) == true) {
   move_x -= 1;
sprite_index = spr_ani_plr3;
image_speed = 1;
}
if (keyboard_check(vk_up) == true) {
   move_y -= 1;
sprite_index = spr_ani_plr4;
image_speed = 1;
}
if (keyboard_check(vk_down) == true) {
   move_y += 1;
sprite_index = spr_ani_plr2;
image_speed = 1;
}

repeat (abs(move_x)) {
    if (place_meeting(x + sign(move_x), y, obj_spr_blackblock1)) {
        // 什么都不做,你面前有东西
    } else {
        x += sign(move_x);
    }
}

repeat (abs(move_y)) {
    if (place_meeting(x, y + sign(move_y), obj_spr_blackblock1)) {
        // 什么都不做,你面前有东西
    } else {
        y += sign(move_y);
    }
}

这些place_meeting函数是为了防止玩家离开房间。