wrong rot
This commit is contained in:
@@ -10,27 +10,35 @@
|
|||||||
задано: {},
|
задано: {},
|
||||||
тела: {},
|
тела: {},
|
||||||
div: {},
|
div: {},
|
||||||
|
transform: {},
|
||||||
обновить: function() {
|
обновить: function() {
|
||||||
for (var имя in мир.платформы.тела)
|
for (var имя in мир.платформы.тела)
|
||||||
{
|
{
|
||||||
var тело = мир.платформы.тела[имя];
|
var тело = мир.платформы.тела[имя];
|
||||||
|
if (тело.isSleeping)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
var div = мир.платформы.div[имя];
|
var div = мир.платформы.div[имя];
|
||||||
let x = тело.bounds.min.x;
|
let x = тело.bounds.min.x;
|
||||||
let y = тело.bounds.min.y;
|
let y = тело.bounds.min.y;
|
||||||
let угол = тело.angle * (180 / Math.PI);
|
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.transform = `rotate(${угол}deg)`;
|
||||||
div.style.left = `${x}px`;
|
div.style.left = `${x}px`;
|
||||||
div.style.top = `${y}px`;
|
div.style.top = `${y}px`;
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
var задано = мир.платформы.задано[имя];
|
var задано = мир.платформы.задано[имя];
|
||||||
var умолчание = мир.платформы.умолчание;
|
var умолчание = мир.платформы.умолчание;
|
||||||
var ширина = задано["ширина"] ? задано["ширина"] : умолчание["ширина"];
|
var ширина = задано["ширина"] ? задано["ширина"] : умолчание["ширина"];
|
||||||
var высота = задано["высота"] ? задано["высота"] : умолчание["высота"];
|
var высота = задано["высота"] ? задано["высота"] : умолчание["высота"];
|
||||||
|
|
||||||
div.style.transformOrigin = `${ширина / 2}px ${высота / 2}px`;
|
div.style.transformOrigin = `${ширина / 2}px ${высота / 2}px`;
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -93,6 +101,8 @@ console.debug("создать тело", тело);
|
|||||||
элемент.style.height = `${высота}px`;
|
элемент.style.height = `${высота}px`;
|
||||||
document.body.appendChild(элемент);
|
document.body.appendChild(элемент);
|
||||||
мир.платформы.div[имя] = элемент;
|
мир.платформы.div[имя] = элемент;
|
||||||
|
|
||||||
|
элемент.style.transformOrigin = `right bottom`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Обновить div.
|
// Обновить div.
|
||||||
|
|||||||
@@ -6,19 +6,23 @@
|
|||||||
y: 500,
|
y: 500,
|
||||||
ширина: 700,
|
ширина: 700,
|
||||||
высота: 50,
|
высота: 50,
|
||||||
цвет: "#550055",
|
цвет: "#55005555",
|
||||||
},
|
},
|
||||||
квадрат1: {
|
квадрат1: {
|
||||||
x: 400,
|
x: 401,
|
||||||
y: 300,
|
y: 240,
|
||||||
|
ширина: 40,
|
||||||
|
высота: 20,
|
||||||
статика: false,
|
статика: false,
|
||||||
цвет: "#aaaaaa",
|
цвет: "#aaaaaa55",
|
||||||
},
|
},
|
||||||
квадрат2: {
|
квадрат2: {
|
||||||
x: 415,
|
x: 415,
|
||||||
y: 470,
|
y: 470,
|
||||||
|
ширина: 40,
|
||||||
|
высота: 20,
|
||||||
статика: true,
|
статика: true,
|
||||||
цвет: "#aaffaa",
|
цвет: "#aaffaa55",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
спрайты: {
|
спрайты: {
|
||||||
|
|||||||
@@ -24,5 +24,7 @@
|
|||||||
<script src="00130.платформы.js"></script>
|
<script src="00130.платформы.js"></script>
|
||||||
<script src="01000.пуск.js"></script>
|
<script src="01000.пуск.js"></script>
|
||||||
<script src="01300.пример.json.js"></script>
|
<script src="01300.пример.json.js"></script>
|
||||||
|
|
||||||
|
<script src="raw/01.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
34
raw/01.js
Normal file
34
raw/01.js
Normal file
@@ -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
raw/index.html
Normal file
23
raw/index.html
Normal file
@@ -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>
|
||||||
Reference in New Issue
Block a user