我有一些变量我想在每个房间中传递,通过将其放入我的PlayerObj中来实现。然而,出于某种原因,它可以传递到每个房间,反复往返 EXCEPT 房间1,这是你出生的房间,主房间。如果我离开主房间,然后返回主房间,它就将所有变量重置为默认值,我完全不知道为什么。

//房间开始
if(room_get_name(room) = rm_battle) instance_destroy(obj_carry_data)

with (obj_carry_data)
{ 
    other.level = level;
    other.xp = xp;
    other.xp_require = xp_require;
    other.damage = damage;
    other.hp_total = hp_total;
    other.hp = hp;

    instance_destroy()
}

//房间结束
if (instance_exists(obj_battle_switcher) && global.is_transitioning = false) exit;

instance_create_depth(0, 0, 0, obj_carry_data, {
    level: level,
    xp: xp,
    xp_require: xp_require,
    damage: damage,
    hp: hp,
    hp_total: hp_total
})