ограничитель

This commit is contained in:
2021-07-08 10:31:46 +03:00
parent a122340552
commit 834cf4d957
2 changed files with 38 additions and 5 deletions

View File

@@ -4,6 +4,7 @@
переместитьИгрока(); переместитьИгрока();
задатьИгрокуМаскуСтолкновения(); задатьИгрокуМаскуСтолкновения();
}, },
ограничитель: null,
}; };
@@ -18,15 +19,47 @@
var свойство = путь.slice(1).join("."); var свойство = путь.slice(1).join(".");
мир.игрок.задано[свойство] = значение; мир.игрок.задано[свойство] = значение;
одинРазСоздатьОграничитель();
}); });
// // // // // // // //
function одинРазСоздатьОграничитель()
{
if (мир.игрок.ограничитель)
{
return;
}
var игрок = мир.объекты.тела["игрок"];
var объект = мир.объекты.тела["колобок"];
if (!игрок || !объект)
{
return;
}
мир.игрок.ограничитель = Matter.Constraint.create({
bodyA: игрок,
bodyB: объект,
stiffness: 1,
});
Matter.Composite.add(мир.физика.движок.world, мир.игрок.ограничитель);
console.debug("создан ограничитель");
}
// // // //
function переместитьИгрока() function переместитьИгрока()
{ {
var тело = мир.объекты.тела[мир.игрок.задано.объект]; //var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"];
if (!тело) if (!тело)
{ {
return; return;
@@ -64,7 +97,8 @@ function переместитьИгрока()
function задатьИгрокуМаскуСтолкновения() function задатьИгрокуМаскуСтолкновения()
{ {
var тело = мир.объекты.тела[мир.игрок.задано.объект]; //var тело = мир.объекты.тела[мир.игрок.задано.объект];
var тело = мир.объекты.тела["игрок"];
if (!тело) if (!тело)
{ {
return; return;

View File

@@ -12,7 +12,7 @@
объекты: { объекты: {
игрок: { игрок: {
x: 1170, x: 1170,
y: 250, y: 350,
ширина: 70, ширина: 70,
вид: { вид: {
background: "url(р/отладка/основа.jpg)", background: "url(р/отладка/основа.jpg)",
@@ -112,8 +112,7 @@
}, },
}, },
игрок: { игрок: {
//объект: "колобок", объект: "", //"колобок",
//объекты: "игрок",
скорость: [5, 13], скорость: [5, 13],
клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
}, },