@@ -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; | |||||
}; | }; |
@@ -50,7 +50,17 @@ | |||||
{ | { | ||||
var тело = мир.объекты.тела[имя]; | var тело = мир.объекты.тела[имя]; | ||||
var элемент = мир.объекты.элементы[имя]; | var элемент = мир.объекты.элементы[имя]; | ||||
мир.синхронизироватьЭлементТело(элемент, тело); | |||||
var засинхрили = мир.синхронизироватьЭлементТело(элемент, тело); | |||||
// Учесть значения transform из JSON-JS. | |||||
if (засинхрили) | |||||
{ | |||||
var transform = мир.объекты.задано[имя]["вид.transform"]; | |||||
if (transform) | |||||
{ | |||||
элемент.style.transform += transform; | |||||
} | |||||
} | |||||
} | } | ||||
}; | }; | ||||
@@ -5,7 +5,7 @@ | |||||
ширина: 2000, | ширина: 2000, | ||||
высота: 600, | высота: 600, | ||||
вид: { | вид: { | ||||
//background: "url(р/сцены/изба.jpg)", | |||||
background: "url(р/сцены/изба.jpg)", | |||||
}, | }, | ||||
}, | }, | ||||
колобок: { | колобок: { | ||||
@@ -21,13 +21,12 @@ | |||||
}, | }, | ||||
объекты: { | объекты: { | ||||
сенсор: { | сенсор: { | ||||
x: 1170, | |||||
y: 350, | |||||
высота: 50, | |||||
ширина: 50, | |||||
x: 1260, | |||||
y: 400, | |||||
ширина: 200, | |||||
вид: { | вид: { | ||||
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, | ||||