This commit is contained in:
2021-06-04 15:27:07 +03:00
parent 7dcb1a59cd
commit 03465f9866

View File

@@ -9,26 +9,19 @@
}, },
задано: {}, задано: {},
тела: {}, тела: {},
div: {}, элементы: {},
transform: {}, свойстваТела: ["x", "y", "ширина", "высота"],
обновить: function() { обновить: обновитьПлатформы,
for (var имя in мир.платформы.тела) /*
{ задатьФизику: задатьФизикуПлатформы,
var тело = мир.платформы.тела[имя]; задатьDiv: задатьDivПлатформы,
if (тело.isSleeping) */
{
continue;
}
var div = мир.платформы.div[имя];
let x = тело.position.x - div.offsetWidth / 2;
let y = тело.position.y - div.offsetHeight / 2;
let угол = тело.angle;
div.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`;
}
},
}; };
// // // //
мир.ключники.push(function(ключ, путь, значение){ мир.ключники.push(function(ключ, путь, значение){
if (!ключ.startsWith("платформы")) if (!ключ.startsWith("платформы"))
{ {
@@ -74,7 +67,7 @@ console.debug("создать тело", тело);
мир.платформы.тела[имя] = тело; мир.платформы.тела[имя] = тело;
// Создать div. // Создать div.
if (!(имя in мир.платформы.div)) if (!(имя in мир.платформы.элементы))
{ {
var элемент = document.createElement("div"); var элемент = document.createElement("div");
элемент.style.position = "absolute"; элемент.style.position = "absolute";
@@ -84,12 +77,12 @@ console.debug("создать тело", тело);
элемент.style.height = `${высота}px`; элемент.style.height = `${высота}px`;
элемент.style.transformOrigin = `center`; элемент.style.transformOrigin = `center`;
document.body.appendChild(элемент); document.body.appendChild(элемент);
мир.платформы.div[имя] = элемент; мир.платформы.элементы[имя] = элемент;
} }
// Обновить div. // Обновить div.
var элемент = мир.платформы.div[имя]; var элемент = мир.платформы.элементы[имя];
if (свойство == "ширина") if (свойство == "ширина")
{ {
элемент.style.width = `${ширина}px`; элемент.style.width = `${ширина}px`;
@@ -104,3 +97,25 @@ console.debug("создать тело", тело);
} }
}); });
// // // //
function обновитьПлатформы()
{
for (var имя in мир.платформы.тела)
{
var тело = мир.платформы.тела[имя];
if (тело.isSleeping)
{
continue;
}
var элемент = мир.платформы.элементы[имя];
let x = тело.position.x - элемент.offsetWidth / 2;
let y = тело.position.y - элемент.offsetHeight / 2;
let угол = тело.angle;
элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`;
}
};