Михаил Капелько 3 лет назад
Родитель
Сommit
e120eb0c4e
5 измененных файлов: 80 добавлений и 7 удалений
  1. +12
    -2
      00130.платформы.js
  2. +9
    -5
      01300.пример.json.js
  3. +2
    -0
      index.html
  4. +34
    -0
      raw/01.js
  5. +23
    -0
      raw/index.html

+ 12
- 2
00130.платформы.js Просмотреть файл

@@ -10,27 +10,35 @@
задано: {},
тела: {},
div: {},
transform: {},
обновить: function() {
for (var имя in мир.платформы.тела)
{
var тело = мир.платформы.тела[имя];
if (тело.isSleeping)
{
continue;
}
var div = мир.платформы.div[имя];
let x = тело.bounds.min.x;
let y = тело.bounds.min.y;
let угол = тело.angle * (180 / Math.PI);
//div.style.transform = `translate(${x}px, ${y}px) rotate(${угол}deg)`;
div.style.transform = `translate(${x}px, ${y}px) rotate(${угол}deg)`;
/*
div.style.transform = `rotate(${угол}deg)`;
div.style.left = `${x}px`;
div.style.top = `${y}px`;
*/



/*
var задано = мир.платформы.задано[имя];
var умолчание = мир.платформы.умолчание;
var ширина = задано["ширина"] ? задано["ширина"] : умолчание["ширина"];
var высота = задано["высота"] ? задано["высота"] : умолчание["высота"];

div.style.transformOrigin = `${ширина / 2}px ${высота / 2}px`;
*/


}
@@ -93,6 +101,8 @@ console.debug("создать тело", тело);
элемент.style.height = `${высота}px`;
document.body.appendChild(элемент);
мир.платформы.div[имя] = элемент;

элемент.style.transformOrigin = `right bottom`;
}

// Обновить div.


+ 9
- 5
01300.пример.json.js Просмотреть файл

@@ -6,19 +6,23 @@
y: 500,
ширина: 700,
высота: 50,
цвет: "#550055",
цвет: "#55005555",
},
квадрат1: {
x: 400,
y: 300,
x: 401,
y: 240,
ширина: 40,
высота: 20,
статика: false,
цвет: "#aaaaaa",
цвет: "#aaaaaa55",
},
квадрат2: {
x: 415,
y: 470,
ширина: 40,
высота: 20,
статика: true,
цвет: "#aaffaa",
цвет: "#aaffaa55",
},
},
спрайты: {


+ 2
- 0
index.html Просмотреть файл

@@ -24,5 +24,7 @@
<script src="00130.платформы.js"></script>
<script src="01000.пуск.js"></script>
<script src="01300.пример.json.js"></script>

<script src="raw/01.js"></script>
</body>
</html>

+ 34
- 0
raw/01.js Просмотреть файл

@@ -0,0 +1,34 @@
// module aliases
var Engine = Matter.Engine,
Render = Matter.Render,
Runner = Matter.Runner,
Bodies = Matter.Bodies,
Composite = Matter.Composite;

// create an engine
var engine = Engine.create({
enableSleeping: true,
});

// create a renderer
var render = Render.create({
element: document.body,
engine: engine
});

// create two boxes and a ground
var ground = Bodies.rectangle(400, 500, 700, 50, { isStatic: true });
var boxA = Bodies.rectangle(401, 240, 40, 20);
var boxB = Bodies.rectangle(415, 470, 40, 20, { isStatic: true });

// add all of the bodies to the world
Composite.add(engine.world, [boxA, boxB, ground]);

// run the renderer
Render.run(render);

// create runner
var runner = Runner.create();

// run the engine
Runner.run(runner, engine);

+ 23
- 0
raw/index.html Просмотреть файл

@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>mjs</title>
<script src="https://cdn.jsdelivr.net/npm/matter-js@0.17.1/build/matter.min.js"></script>
<style>
html, body {
margin: 0;
padding: 0;
overflow: hidden;
}

body {
height: 100vh;
width: 100vw;
}
</style>
</head>
<body>
<script src="01.js"></script>
</body>
</html>

Загрузка…
Отмена
Сохранить