|
|
@@ -1,19 +1,50 @@ |
|
|
|
мир.платформы = {}; |
|
|
|
мир.платформы = { |
|
|
|
умолчание: { |
|
|
|
x: 100, |
|
|
|
y: 100, |
|
|
|
ширина: 40, |
|
|
|
высота: 20, |
|
|
|
цвет: "ff0000", |
|
|
|
}, |
|
|
|
задано: {}, |
|
|
|
тела: {}, |
|
|
|
}; |
|
|
|
|
|
|
|
мир.ключники.push(function(ключ, значение){ |
|
|
|
|
|
|
|
мир.ключники.push(function(ключ, путь, значение){ |
|
|
|
if (!ключ.startsWith("платформы")) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
var к = ключ.split("."); |
|
|
|
var имя = к[1]; |
|
|
|
console.debug("имя:", имя); |
|
|
|
if (!(имя in мир.платформы)) |
|
|
|
|
|
|
|
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, тело); |
|
|
|
}); |