зеркало

This commit is contained in:
2021-07-21 14:26:16 +03:00
parent c2ec518585
commit 99129cc494
5 changed files with 36 additions and 8 deletions

View File

@@ -74,11 +74,15 @@
мир.синхронизироватьЭлементТело = function(элемент, тело) { мир.синхронизироватьЭлементТело = function(элемент, тело) {
if (тело.isSleeping) if (тело.isSleeping)
{ {
return; return false;
} }
let x = тело.position.x - элемент.offsetWidth / 2; let x = тело.position.x - элемент.offsetWidth / 2;
let y = тело.position.y - элемент.offsetHeight / 2; let y = тело.position.y - элемент.offsetHeight / 2;
let угол = тело.angle; let угол = тело.angle;
элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`; элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`;
console.debug("синхра тела", элемент.id);
return true;
}; };

View File

@@ -50,7 +50,17 @@
{ {
var тело = мир.объекты.тела[имя]; var тело = мир.объекты.тела[имя];
var элемент = мир.объекты.элементы[имя]; var элемент = мир.объекты.элементы[имя];
мир.синхронизироватьЭлементТело(элемент, тело); var засинхрили = мир.синхронизироватьЭлементТело(элемент, тело);
// Учесть значения transform из JSON-JS.
if (засинхрили)
{
var transform = мир.объекты.задано[имя]["вид.transform"];
if (transform)
{
элемент.style.transform += transform;
}
}
} }
}; };

View File

@@ -5,7 +5,7 @@
ширина: 2000, ширина: 2000,
высота: 600, высота: 600,
вид: { вид: {
//background: "url(р/сцены/изба.jpg)", background: "url(р/сцены/изба.jpg)",
}, },
}, },
колобок: { колобок: {
@@ -21,13 +21,12 @@
}, },
объекты: { объекты: {
сенсор: { сенсор: {
x: 1170, x: 1260,
y: 350, y: 400,
высота: 50, ширина: 200,
ширина: 50,
вид: { вид: {
background: "url(р/отладка/основа.jpg)", background: "url(р/отладка/основа.jpg)",
//display: "none", display: "none",
}, },
физика: { физика: {
isStatic: true, isStatic: true,
@@ -268,6 +267,21 @@
}, },
}, },
}, },
стрела: {
x: 1270,
y: 350,
высота: 30,
ширина: 200,
вид: {
display: "inline-block",
background: "url(р/вещи/стрела.png) no-repeat scroll 0% 0% / contain",
transform: "scaleX(-1)",
},
физика: {
isStatic: false,
inertia: Infinity,
},
},
подоконник: { подоконник: {
x: 1673, x: 1673,
y: 375, y: 375,

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.