элемент1/тело1

This commit is contained in:
2021-07-09 14:34:09 +03:00
parent 6b4ebb05e2
commit e3228caf50
4 changed files with 66 additions and 20 deletions

View File

@@ -70,3 +70,15 @@
var ключ = путь[пройти]; var ключ = путь[пройти];
вложенность[ключ] = значение; вложенность[ключ] = значение;
}; };
мир.синхронизироватьЭлементТело = function(элемент, тело) {
if (тело.isSleeping)
{
return;
}
let x = тело.position.x - элемент.offsetWidth / 2;
let y = тело.position.y - элемент.offsetHeight / 2;
let угол = тело.angle;
элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`;
};

View File

@@ -49,15 +49,8 @@ function обновитьОбъекты()
for (var имя in мир.объекты.тела) for (var имя in мир.объекты.тела)
{ {
var тело = мир.объекты.тела[имя]; var тело = мир.объекты.тела[имя];
if (тело.isSleeping)
{
continue;
}
var элемент = мир.объекты.элементы[имя]; var элемент = мир.объекты.элементы[имя];
let x = тело.position.x - элемент.offsetWidth / 2; мир.синхронизироватьЭлементТело(элемент, тело);
let y = тело.position.y - элемент.offsetHeight / 2;
let угол = тело.angle;
элемент.style.transform = `translate(${x}px, ${y}px) rotate(${угол}rad)`;
} }
} }

View File

@@ -3,8 +3,9 @@
обновить: function() { обновить: function() {
переместитьИгрока(); переместитьИгрока();
задатьИгрокуМаскуСтолкновения(); задатьИгрокуМаскуСтолкновения();
обновитьРаз();
}, },
соединение: null, раз: null,
}; };
@@ -20,7 +21,7 @@
var свойство = путь.slice(1).join("."); var свойство = путь.slice(1).join(".");
мир.игрок.задано[свойство] = значение; мир.игрок.задано[свойство] = значение;
одинРазСоздатьСоединение(); одинРазСоздать();
}); });
@@ -28,15 +29,22 @@
// // // // // // // //
function одинРазСоздатьСоединение() function одинРазСоздать()
{ {
if (мир.игрок.соединение) if (мир.игрок.раз)
{ {
return; return;
} }
var элемент1 = document.createElement("div");
элемент1.style.position = "absolute";
элемент1.style.display = "block";
элемент1.style.transformOrigin = "center";
элемент1.style.width = `70px`;
элемент1.style.height = `10px`;
элемент1.style.background = "url(р/отладка/основа.jpg)",
document.getElementById("корень").appendChild(элемент1);
/*
var фи = { var фи = {
isStatic: false, isStatic: false,
inertia: Infinity, inertia: Infinity,
@@ -44,14 +52,33 @@ function одинРазСоздатьСоединение()
mask: 1, mask: 1,
}, },
}; };
var игрок = Matter.Bodies.rectangle(1170, 350, 70, 10, фи); var тело1 = Matter.Bodies.rectangle(1170, 150, 70, 10, фи);
*/
Matter.Composite.add(мир.физика.движок.world, тело1);
мир.игрок.раз = {
элемент1: элемент1,
тело1: тело1,
//элемент2: ,
//тело2: ,
}
console.debug("создано раз");
}
//Matter.Composite.add(мир.физика.движок.world, тело); // // // //
console.debug("создано соединение"); function обновитьРаз()
{
if (!мир.игрок.раз)
{
return;
}
мир.синхронизироватьЭлементТело(мир.игрок.раз.элемент1, мир.игрок.раз.тело1);
} }
@@ -60,8 +87,15 @@ console.debug("создано соединение");
function переместитьИгрока() function переместитьИгрока()
{ {
if (!мир.игрок.раз)
{
return;
}
//var тело = мир.объекты.тела[мир.игрок.задано.объект]; //var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"]; //var тело = мир.объекты.тела["игрок"];
var тело = мир.игрок.раз.тело1;
if (!тело) if (!тело)
{ {
return; return;
@@ -99,8 +133,15 @@ function переместитьИгрока()
function задатьИгрокуМаскуСтолкновения() function задатьИгрокуМаскуСтолкновения()
{ {
if (!мир.игрок.раз)
{
return;
}
//var тело = мир.объекты.тела[мир.игрок.задано.объект]; //var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"]; //var тело = мир.объекты.тела["игрок"];
var тело = мир.игрок.раз.тело1;
if (!тело) if (!тело)
{ {
return; return;

View File

@@ -112,7 +112,7 @@
}, },
}, },
игрок: { игрок: {
объект: "", //"колобок", объект: "колобок",
скорость: [5, 13], скорость: [5, 13],
клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
}, },