diff --git a/100.мир.js b/100.мир.js index 86b0f55..859121d 100644 --- a/100.мир.js +++ b/100.мир.js @@ -74,11 +74,15 @@ мир.синхронизироватьЭлементТело = function(элемент, тело) { if (тело.isSleeping) { - return; + return false; } let x = тело.position.x - элемент.offsetWidth / 2; let y = тело.position.y - элемент.offsetHeight / 2; let угол = тело.angle; элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`; + +console.debug("синхра тела", элемент.id); + + return true; }; diff --git a/160.объекты.js b/160.объекты.js index 6ab6c3e..50c88fa 100644 --- a/160.объекты.js +++ b/160.объекты.js @@ -50,7 +50,17 @@ { var тело = мир.объекты.тела[имя]; var элемент = мир.объекты.элементы[имя]; - мир.синхронизироватьЭлементТело(элемент, тело); + var засинхрили = мир.синхронизироватьЭлементТело(элемент, тело); + + // Учесть значения transform из JSON-JS. + if (засинхрили) + { + var transform = мир.объекты.задано[имя]["вид.transform"]; + if (transform) + { + элемент.style.transform += transform; + } + } } }; diff --git a/800.пример.json.js b/800.пример.json.js index 238d626..02cea96 100644 --- a/800.пример.json.js +++ b/800.пример.json.js @@ -5,7 +5,7 @@ ширина: 2000, высота: 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)", - //display: "none", + display: "none", }, физика: { 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, y: 375, diff --git a/р/вещи/стрела.png b/р/вещи/стрела.png new file mode 100644 index 0000000..9cf2588 Binary files /dev/null and b/р/вещи/стрела.png differ diff --git a/р/вещи/стрела.xcf b/р/вещи/стрела.xcf new file mode 100644 index 0000000..9c98ee8 Binary files /dev/null and b/р/вещи/стрела.xcf differ