мир.платформы = { умолчание: { x: 100, y: 100, ширина: 40, высота: 20, цвет: "ff0000", }, задано: {}, тела: {}, }; мир.ключники.push(function(ключ, путь, значение){ if (!ключ.startsWith("платформы")) { return; } var имя = путь[1]; var свойство = путь[2]; // Сохранить заданные значения. if (!(имя in мир.платформы.задано)) { мир.платформы.задано[имя] = {}; } мир.платформы.задано[имя][свойство] = значение; console.debug("задано", мир.платформы.задано[имя]); // Удалить физическое тело. if (имя in мир.платформы.тела) { var тело = мир.платформы.тела[имя]; Matter.Composite.remove(мир.физика.движок.world, тело); } // Пересоздать физическое тело. var задано = мир.платформы.задано[имя]; var тело = Matter.Bodies.rectangle( задано["x"] ? задано["x"] : мир.платформы.умолчание["x"], задано["y"] ? задано["y"] : мир.платформы.умолчание["y"], задано["ширина"] ? задано["ширина"] : мир.платформы.умолчание["ширина"], задано["высота"] ? задано["высота"] : мир.платформы.умолчание["высота"], { isStatic: true, } ); Matter.Composite.add(мир.физика.движок.world, тело); });