Browse Source

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

master
parent
commit
e3228caf50
4 changed files with 66 additions and 20 deletions
  1. +12
    -0
      00100.мир.js
  2. +1
    -8
      00130.объекты.js
  3. +52
    -11
      00150.игрок.js
  4. +1
    -1
      01300.пример.json.js

+ 12
- 0
00100.мир.js View File

@@ -70,3 +70,15 @@
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)`;
};

+ 1
- 8
00130.объекты.js View File

@@ -49,15 +49,8 @@ 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)`;
мир.синхронизироватьЭлементТело(элемент, тело);
}
}



+ 52
- 11
00150.игрок.js View File

@@ -3,8 +3,9 @@
обновить: function() {
переместитьИгрока();
задатьИгрокуМаскуСтолкновения();
обновитьРаз();
},
соединение: null,
раз: null,
};


@@ -20,7 +21,7 @@
var свойство = путь.slice(1).join(".");
мир.игрок.задано[свойство] = значение;

одинРазСоздатьСоединение();
одинРазСоздать();

});

@@ -28,15 +29,22 @@
// // // //


function одинРазСоздатьСоединение()
function одинРазСоздать()
{
if (мир.игрок.соединение)
if (мир.игрок.раз)
{
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 фи = {
isStatic: false,
inertia: Infinity,
@@ -44,14 +52,33 @@ function одинРазСоздатьСоединение()
mask: 1,
},
};
var игрок = Matter.Bodies.rectangle(1170, 350, 70, 10, фи);
*/
var тело1 = Matter.Bodies.rectangle(1170, 150, 70, 10, фи);

Matter.Composite.add(мир.физика.движок.world, тело1);

//Matter.Composite.add(мир.физика.движок.world, тело);
мир.игрок.раз = {
элемент1: элемент1,
тело1: тело1,
//элемент2: ,
//тело2: ,
}

console.debug("создано раз");
}


// // // //


function обновитьРаз()
{
if (!мир.игрок.раз)
{
return;
}

мир.синхронизироватьЭлементТело(мир.игрок.раз.элемент1, мир.игрок.раз.тело1);

console.debug("создано соединение");
}


@@ -60,8 +87,15 @@ console.debug("создано соединение");

function переместитьИгрока()
{

if (!мир.игрок.раз)
{
return;
}

//var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"];
//var тело = мир.объекты.тела["игрок"];
var тело = мир.игрок.раз.тело1;
if (!тело)
{
return;
@@ -99,8 +133,15 @@ function переместитьИгрока()

function задатьИгрокуМаскуСтолкновения()
{

if (!мир.игрок.раз)
{
return;
}

//var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"];
//var тело = мир.объекты.тела["игрок"];
var тело = мир.игрок.раз.тело1;
if (!тело)
{
return;


+ 1
- 1
01300.пример.json.js View File

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


Loading…
Cancel
Save